🏡


to read (pdf)

  1. Debunking zswap and zram myths
  2. Building a Pipeline for Agentic Malware Analysis | Tim Blazytko
  3. Study of Binaries Created with Rust through Reverse Engineering - JPCERT/CC Eyes | JPCERT Coordination Center official Blog
  4. Letting AI Actively Manage Its Own Context | 明天的乌云
  5. Garden Offices for Sale UK - Portable Space

  1. March 26, 2026
    1. 🔗 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]

    2. 🔗 r/Yorkshire Caught this moment at Whitby Abbey last summer rss

      Caught this moment at Whitby Abbey last summer | Just one of those moments where everything lined up submitted by /u/Effective_Sink_3934
      [link] [comments]
      ---|---

    3. 🔗 r/Yorkshire First Puffins of 2026… RSPB Bempton Cliffs rss
    4. 🔗 r/reverseengineering My DAP couldn't display Arabic text, so I reverse engineered the firmware format to fix it rss
    5. 🔗 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.

    6. 🔗 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.

    7. 🔗 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.

  2. March 25, 2026
    1. 🔗 IDA Plugin Updates IDA Plugin Updates on 2026-03-25 rss

      IDA Plugin Updates on 2026-03-25

      New Releases:

      Activity:

      • augur
        • 07aedb46: chore: add semver-checks to ci
        • fcef2013: fix: doc github workflow
        • b684dd2b: chore: improve security of github workflows
      • binsync
        • beb9df34: Add commit history "git reset" functionality to your user branch (#513)
        • 065c9965: add checks for invalid commits before timestamp (#514)
      • fa
        • b584a37f: Merge pull request #60 from doronz88/bugfix/default-signature-path
        • 962e9d01: fainterp: Handle missing signatures_root in global config
        • 06f3b689: fainterp: Prevent creating config.ini in site-packages
      • ghidra
        • cccc5103: Merge remote-tracking branch 'origin/Ghidra_12.1'
        • 04b63229: GP-0: Stronger ObjcMessageAnalzyer.canAnalyze() check (prevents it from
        • 2f6e25e1: GP-0: SwiftDemangler fix for ArgumentTuple vs Tuple
      • ghidra-chinese
        • 248434af: Merge pull request #94 from TC999/sync
        • c155a6fc: Merge branch 'chinese' into sync
      • haruspex
        • 62b1b360: chore: add semver-checks to ci
        • f0c84766: fix: doc github workflow
        • 3f836eee: doc: update changelog
        • 43f98173: chore: improve security of github workflows
      • ida-domain
      • 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
        • e754bfa2: ci: clone SDK with submodules (src/cmake is a submodule)
        • 732a3707: ci: update workflow for new IDA SDK cmake layout
        • 3ba5c49e: build: update to new IDA SDK 9.3 cmake layout and libidacpp
      • rhabdomancer
        • c1fc3e6f: doc: update changelog
        • e27c571c: chore: add semver-checks to ci
        • 8d4049c7: doc: update changelog
        • 483f9061: chore: improve security of github workflows
      • scriptwatch
    2. 🔗 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]

    3. 🔗 r/york Tonight’s sun starting to set over York rss

      Tonight’s sun starting to set over York | submitted by /u/York_shireman
      [link] [comments]
      ---|---

    4. 🔗 3Blue1Brown (YouTube) The subset sum puzzle rss

      Part of a series of monthly puzzlers. Stay subscribed to see the solution

    5. 🔗 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]

    6. 🔗 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]

    7. 🔗 Jeremy Fielding (YouTube) Can You Engineer Wonder? 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

    8. 🔗 r/wiesbaden Red shopping cart rss

      Ok, wer von euch war das?

      submitted by /u/Fright-Train-Rider
      [link] [comments]

    9. 🔗 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]

    10. 🔗 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]

    11. 🔗 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 […]

    12. 🔗 r/Yorkshire Is this AI slop? It doesn't appear to be Robin Hood's Bay, or Whitby rss

      Is this AI slop? It doesn't appear to be Robin Hood's Bay, or Whitby | 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]
      ---|---

    13. 🔗 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]

    14. 🔗 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]

    15. 🔗 r/reverseengineering CounterPoint: Using Hardware Event Counters to Refute and Refine Microarchitectural Assumptions rss
    16. 🔗 r/york Looking for the artist who crafted and sold this ring 20 years ago rss

      Looking for the artist who crafted and sold this ring 20 years ago | 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]
      ---|---

    17. 🔗 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]

    18. 🔗 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.

      https://www.pcmag.com/news/intel-targets-ai-workstations-with-memory-stuffed- arc-pro-b70-and-b65-gpus

      submitted by /u/happybydefault
      [link] [comments]

    19. 🔗 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 io package. This post is about how that went.

      io packageSlicesMultiple returnsErrorsInterfacesType assertionSpecialized readersCopyWrapping up

      The io package

      io is 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 io package defines many other interfaces, like Seeker and Closer, as well as combinations like ReadWriter and WriteCloser. It also provides several functions, the most well-known being Copy, 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 io package 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 Read method again:

      Read(p []byte) (n int, err error)
      

      It returns two values: an int and an error. 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) or n = 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_Value union can store any primitive type, as well as strings, slices, and pointers. The so_Result type combines a value with an error. So, our Read method (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. A nil error is a NULL pointer. 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_Reader struct in C:

      typedef struct {
          void* self;
          so_Result (*Read)(void* self, so_Slice p);
      } io_Reader;
      

      The self pointer holds the concrete value, and each method becomes a function pointer that takes self as 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 (like WriterTo) 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 io types was pretty easy. For example, LimitedReader wraps 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

      Copy is 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, Copy allocates its buffer on the heap with make([]byte, size). I could take a similar approach in C — make Copy take 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_slice allocates memory on a stack with a bounds-checking macro that wraps C's alloca. It moves the stack pointer and gives you a chunk of memory that's automatically freed when the function returns.

      People often avoid using alloca because it can cause a stack overflow, but using a bounds-checking wrapper fixes this issue. Another common concern with alloca is 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 io package 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 io package 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 naturally bytes and strings — 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 io package is included, of course.

    20. 🔗 r/reverseengineering Announcing ida-mcp 2.0: A Headless MCP Server for IDA Pro rss
    21. 🔗 r/york Does anyone want/need any pallets rss

      Does anyone want/need any pallets | 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]
      ---|---

    22. 🔗 HexRaysSA/plugin-repository commits sync repo: +1 release rss
      sync repo: +1 release
      
      ## New releases
      - [BinSync](https://github.com/binsync/binsync): 5.13.0
      
    23. 🔗 r/Yorkshire Rolls-Royce invests £19.3m in aim to double Rotherham factory output rss

      Rolls-Royce invests £19.3m in aim to double Rotherham factory output | submitted by /u/willfiresoon
      [link] [comments]
      ---|---

    24. 🔗 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]

    25. 🔗 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]

    26. 🔗 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]

    27. 🔗 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]

    28. 🔗 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]

    29. 🔗 r/LocalLLaMA Throwback to my proudest impulse buy ever, which has let me enjoy this hobby 10x more rss

      Throwback to my proudest impulse buy ever, which has let me enjoy this hobby 10x more | 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]
      ---|---

    30. 🔗 Cal Paterson "Disregard that!" attacks rss

      Why you shouldn't share your context window with others

    31. 🔗 Mario Zechner Thoughts on slowing the fuck down rss

      Thoughts on slowing the fuck down

    32. 🔗 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.

      A picture of my right hand, with the letters “hjkl” tattooed on the wrist

      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.

  3. March 24, 2026
    1. 🔗 IDA Plugin Updates IDA Plugin Updates on 2026-03-24 rss

      IDA Plugin Updates on 2026-03-24

      New Releases:

      Activity:

    2. 🔗 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]

    3. 🔗 r/LocalLLaMA Prices finally coming down? 🥺🙏 rss
    4. 🔗 r/Yorkshire Gannets fencing… Bempton Cliffs rss
    5. 🔗 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]

    6. 🔗 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.


      Powered by beehiiv

    7. 🔗 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]

    8. 🔗 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]

    9. 🔗 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 Academy

      New 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]

    10. 🔗 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]

    11. 🔗 r/LocalLLaMA [Developing situation] LiteLLM compromised rss
    12. 🔗 r/LocalLLaMA LM Studio may possibly be infected with sophisticated malware. rss

      LM Studio may possibly be infected with sophisticated malware. | 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]
      ---|---

    13. 🔗 r/LocalLLaMA Created a SillyTavern extension that brings NPC's to life in any game rss

      Created a SillyTavern extension that brings NPC's to life in any game | 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]
      ---|---

    14. 🔗 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]

    15. 🔗 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]

    16. 🔗 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
      
    17. 🔗 r/Yorkshire Different moods of Whitby rss

      Different moods of Whitby | submitted by /u/angryestbadger
      [link] [comments]
      ---|---

    18. 🔗 r/Leeds Town Hall in the Snow rss
    19. 🔗 r/Yorkshire Fountains Abbey in the sun rss

      Fountains Abbey in the sun | submitted by /u/angryestbadger
      [link] [comments]
      ---|---

    20. 🔗 r/Yorkshire Views over Scar House rss

      Views over Scar House | submitted by /u/angryestbadger
      [link] [comments]
      ---|---

    21. 🔗 r/reverseengineering Reverse Engineering a "Zombie" Smart Scale: My journey with QardioBase2 after the app vanished. rss
    22. 🔗 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]

    23. 🔗 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:

      1. press my shortcut,
      2. say "okay, define interactive function",
      3. and then press my shortcut again,

      than to:

      1. mentally say it,
      2. get the first initials,
      3. type in "dfi",
      4. 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-category in 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.

      2026-03-23_20-38-33.png
      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 voice

      This is how it works:

      1. It starts an ffmpeg recording process.
      2. It starts Silero voice activity detection.
      3. When it detects that speech has ended, it use curl to send the WAV to an OpenAI-compatible server (in my case, Speaches with the Systran/faster-whisper-base.en model) for transcription, along with a prompt to try to influence the recognition.
      4. It compares the result with the candidates using string-distance for 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:

      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-p while still being able to type y or n. This probably involves using sit-for and 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 for read-string and completing-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-input functions, experimental code is at https://codeberg.org/sachac/speech-input .

      You can comment on Mastodon or e-mail me at sacha@sachachua.com.

  4. March 23, 2026
    1. 🔗 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
        • ffad3a94: docs: add microcode and IDA version badge to docs, unify microcode pr…
        • e1b78d0f: add serialize/deserialize to MicroInstruction (#60)
      • 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
      • python-elpida_core.py
        • 7bc2d467: Fix WorldEmitter display for Oracle beads
        • 730ebb35: Raise MIND max_tokens 700→1200 + insight summary cap 1000→2000
        • 84426905: Fix PSO key mismatch + Reddit RSS feed + template fatigue
      • recover
        • f2d1b7a1: Create export directory if it does not exist
        • 41fbdba5: Fix linter errors
    2. 🔗 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]

    3. 🔗 r/reverseengineering We got Skype to log in - One major step in figuring out the popular 2000s IM client rss
    4. 🔗 r/LocalLLaMA RYS II - Repeated layers with Qwen3.5 27B and some hints at a 'Universal Language' rss

      RYS II - Repeated layers with Qwen3.5 27B and some hints at a 'Universal Language' | 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 :

      1. 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.
      2. I tried a bunch of different stuff, but in the end, repeating blocks in the middle of the transformer stack works the best.
      3. 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]
      ---|---

    5. 🔗 r/Leeds Random things to do in/near Leeds rss

      My friend and I are wanting to try doing something different and interesting each week in or around the Leeds area. We are not wanting to spend more than £10 each time if possible, and are looking for things like classes to learn skills or random experiences. They can be organised events or just things we can go off and try ourselves. Does anyone have any recommendations for places we can search for these types of things, or suggestions for specific classes/events/ideas. Thanks in advance!

      submitted by /u/Certain-Use-3848
      [link] [comments]

    6. 🔗 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]

    7. 🔗 r/reverseengineering I built an FPGA reimplementation of the 3dfx Voodoo 1 rss
    8. 🔗 r/reverseengineering TIL you can detect a UEFI bootkit from usermode by just asking it nicely rss
    9. 🔗 @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

    10. 🔗 r/LocalLLaMA China's open-source dominance threatens US AI lead, US advisory body warns rss
    11. 🔗 r/reverseengineering Using local LLM and Ghidra to analyze malware (Part 2) rss
    12. 🔗 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]

    13. 🔗 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).

      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.

    14. 🔗 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]

    15. 🔗 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:

      1. 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.
      2. 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.
      3. 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.
      4. Baidu - Ernie is proprietary but not many people use. Baidu is stronger in the autonomous driving scene but that's off topic here.
      5. Xiaomi - Mimo V2 Pro is their proprietary model while the Mimo V2 Flash 309B-A15B is their open weight model.
      6. 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?
      7. 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.
      8. 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.
      9. 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:

      1. 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.)

      1. Zhipu - IPOed in HK. Current GLM-5 is a derivate of DeepSeek.
      2. 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.
      3. Moonshot - Kimi open weight model which is a derivative of DeepSeek
      4. 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.
      5. Baichuan - Their Baichuan-M3 235B is a medical enhanced open weight model based on Qwen3Moe.
      6. 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:

      1. 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.
      2. 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]

    16. 🔗 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]

    17. 🔗 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]

    18. 🔗 zellij-org/zellij Release v0.44.0 release

      This is a large release including many new features, some of which long requested, as well as countless fixes, infrastructure overhauls and much more. I would like to thank everyone for their patience with this long awaited version being released. I hope you will agree it was worth the wait.

      Following is a non-exhaustive list of some major and significant changes:

      Native Windows Support

      Zellij now runs natively on Windows(!!). Achieved through a major community code contribution, at long last Zellij is truly multi-platform. Allowing windows users to enjoy the same session management, workspace automation, plugin ecosystem and multiplayer capabilities that have been available on Linux and macOS since the inception of the tool. We are truly excited.

      Special thanks to @divens for the implementation and hard work.

      Layout Manager

      This release introduces a new layout-manager interface, implemented as a built-in plugin allowing users to:

      1. Open their favorite layouts in a new tab or tabs
      2. Apply their layouts to the current tab (optionally keeping panes that do not match the layout or closing them outright)
      3. Create new layouts on the fly by recording the current tab state

      It should be noted that with the layout manager comes the new override- layout capability, appearing both a as a plugin command (used by the plugin) and as a CLI command. This capability allows us to change the layout of the current tab or all the tabs in the session to match a specific layout. An example use case for this is to toggle between the standard status-bar and the compact bar (in itself a much requested capability).

      To open the layout manager: Ctrl o + l

      Terminal-to-Terminal Attach over HTTPS (remote attach)

      This feature allows us to attach to a remote Zellij session (with the web server running and the session shared) from the terminal, just like we would from the browser. Using the same authentication tokens and doing so over HTTPS:

      zellij attach https://example.com/my-cool-session
      

      Read-Only Session Sharing

      We are now able to issue "read-only" authentication tokens, which will allow users to attach to sessions without being able to affect them in any way (keyboard/mouse input or terminal window resizing). This can be especially useful for teaching, demonstrations, screencasting or streaming.

      These tokens can be issued with:

      zellij web --create-read-only-token
      

      Or through the share plugin with Ctrl o + s

      CLI Automation

      This release dramatically expands what can be accomplished from the command line. Some main areas:

      Conditionally Blocking Command Panes

      The zellij run command now includes a --blocking, --block-until-exit- success and --block-until-exit-failure flags. Using these we can conditionally block the CLI before moving to the next command, depending on the outcome of the command run in the new pane.

      New CLI actions of note

      • zellij detach and zellij action switch-session
      • zellij action list-panes - lists all panes in the current or specified session, including metadata such as running commands, titles, coordinates, etc. Also optionally in --json format.
      • zellij action send-keys - allows us to send Human readable keys to a specific pane (eg. zellij action send-keys "Enter" "Ctrl c" "F1" "a" "b")
      • zellij subscribe - allows us to continuously subscribe to pane updates (viewport and scrollback) from one or more panes, optionally in --json format, optionally with --ansi (so colors and styling won't be stripped)
      • zellij action dump-screen now has a --pane-id flag so that we can query the pane viewport/scrollback actively (also from other session by prefixing the action with --session <name>)
      • CLI commands that create panes (eg. zellij run) now return the pane_id for easy storing and manipulation in following commands and scripts. CLI commands that create tabs (eg. zellij action new-tab) similarly return the created tab index.

      For more info, including examples, recipes and directions for external programmatic control, please see: https://zellij.dev/documentation/controlling-zellij-through-cli.html

      Resize Panes with the Mouse

      Panes can now be resized with the mouse. Either by dragging their borders (floating panes require ctrl + dragging, as normal dragging moves them) or by floating over the pane, holding ctrl and scrolling the mouse up or down.

      Note: this feature includes hints for the above keys that appear on hover. For those who do not like this behavior, the hints (as well as other mouse hover actions) can be disabled by specifying mouse_hover_effects false in the configuration.

      Click-to-Open File Paths

      By default, Zellij now highlights file paths (relative and absolute) when hovering over them with the mouse. When we Alt + Click them, these files will be opened in a new floating pane in our default EDITOR.

      This new capability is implemented as a built-in plugin. For those who don't like this behavior, it can be disabled by commenting out the link plugin in the configuration: https://github.com/zellij-org/zellij/blob/main/zellij- utils/assets/config/default.kdl#L249

      New Session Manager UI

      The session manager UI has been revamped and is now much simpler, including only one screen that allows user to create new sessions, attach to existing ones or resurrect exited ones - all depending on which session name is specified.

      For those wishing to remain with the old experience, the session manager can be run with multi_screen true.

      New Rust APIs

      It is Zellij development policy to create new UI interfaces as built-in plugins. This means that the new APIs created for all the above interfaces are now also available for third-party plugins (gated behind relevant permissions).
      These capabilities include:

      1. Read pane scrollback - Plugins can now read the scrollback buffer of other panes, optionally including the ANSI colors and styling
      2. Configuration propagation - Changes to plugin configuration are now propagated to running plugins
      3. Query environment variables - Plugins can query env vars set upon session creation
      4. Highlight viewport text - Plugins can change the style of arbitrary text in any pane's viewport, optionally on mouse hover, optionally receiving an event when the user Alt + Clicks them
      5. Change pane colors - Set foreground/background colors of panes
      6. Explicit session save - Trigger a session save for resurrection without waiting for the automatic interval

      For more info: https://zellij.dev/documentation/plugin-api.html

      Infrastructure Overhaul

      Under the hood, this release includes significant infrastructure changes:

      1. WASM runtime migration: The plugin runtime has been migrated from wasmtime to wasmi, meaning they now do not require an explicit compilation step and so do not need to be cached. This might incur a slight performance penalty for plugins, but this penalty can be almost completely mitigated by adding the following to the plugin's Cargo.toml:

        [profile.release] lto = true strip = true codegen-units = 1

      2. Async runtime migration: for historical reasons, up until now we've had two async runtimes: async_std and tokio. This release migrates us to use tokio exclusively.

      Forwards Compatibility

      Due to the lack of a client-server contract, Zellij sessions have never been backwards compatible. Each version upgrade would orphan existing sessions, forcing users to manually kill them and recreate them. While this is unfortunately still the case with this version, this will be the last time.

      A new client/server contract has been created and enforced with protocol buffers. Future versions will be able to connect to existing sessions. The only caveat being that new features won't work with old sessions and will silently fail.

      Additional Improvements

      Beyond the above features, this release includes a large number of bug fixes and quality-of-life improvements:

      • Borderless panes - open specific panes as borderless or toggle border status at runtime
      • Terminal BEL forwarding from unfocused tabs and panes with visual indication
      • Configurablefocus_follows_mouse and mouse_click_through
      • Line-wrapping/resize performance improvements
      • Better STDIN segmentation with latency (eg. over SSH)
      • Mobile web client viewport sizing and touch scrolling improvements
      • Numerous fixes for session resurrection, floating pane behavior, cursor handling, grid rendering and more

      For the full list of changes, see the CHANGELOG.

      Please Support the Zellij Developer ❤️

      Zellij is a labor of love and is provided free and open-source to anyone who wishes to use it.

      Zellij will never display ads or collect your data.

      To help sustain the project, please consider a recurring donation so that the developer can pay their bills: https://github.com/sponsors/imsnif

    19. 🔗 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]

    20. 🔗 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]

    21. 🔗 r/LocalLLaMA So cursor admits that Kimi K2.5 is the best open source model rss

      So cursor admits that Kimi K2.5 is the best open source model | Nothing speaks louder than recognition from your peers. submitted by /u/Giveawayforusa
      [link] [comments]
      ---|---

    22. 🔗 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

      I came from Data Engineering stuff before jumping into LLM stuff, i am surprised that many people in this space never heard Elastic/OpenSearch | 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]
      ---|---

    23. 🔗 badlogic/pi-mono v0.62.0 release

      New Features

      • Built-in tools as extensible ToolDefinitions. Extension authors can now override rendering of built-in read/write/edit/bash/grep/find/ls tools with custom renderCall/renderResult components. See docs/extensions.md.
      • Unified source provenance via sourceInfo. All resources, commands, tools, skills, and prompt templates now carry structured sourceInfo with path, scope, and source metadata. Visible in autocomplete, RPC discovery, and SDK introspection. See docs/extensions.md.
      • AWS Bedrock cost allocation tagging. New requestMetadata option on BedrockOptions forwards key-value pairs to the Bedrock Converse API for AWS Cost Explorer split cost allocation.

      Breaking Changes

      • Changed ToolDefinition.renderCall and renderResult semantics. Fallback rendering now happens only when a renderer is not defined for that slot. If renderCall or renderResult is defined, it must return a Component.
      • Changed slash command provenance to use sourceInfo consistently. RPC get_commands, RpcSlashCommand, and SDK SlashCommandInfo no longer expose location or path. Use sourceInfo instead (#1734)
      • Removed legacy source fields from Skill and PromptTemplate. Use sourceInfo.source for provenance instead (#1734)
      • Removed ResourceLoader.getPathMetadata(). Resource provenance is now attached directly to loaded resources via sourceInfo (#1734)
      • Removed extensionPath from RegisteredCommand and RegisteredTool. Use sourceInfo.path for provenance instead (#1734)

      Migration Notes

      Resource, command, and tool provenance now use sourceInfo consistently.

      Common updates:

      • RPC get_commands: replace path and location with sourceInfo.path, sourceInfo.scope, and sourceInfo.source
      • SlashCommandInfo: replace command.path and command.location with command.sourceInfo
      • Skill and PromptTemplate: replace .source with .sourceInfo.source
      • RegisteredCommand and RegisteredTool: replace .extensionPath with .sourceInfo.path
      • Custom ResourceLoader implementations: remove getPathMetadata() and read provenance from loaded resources directly

      Examples:

      • command.path -> command.sourceInfo.path
      • command.location === "user" -> command.sourceInfo.scope === "user"
      • skill.source -> skill.sourceInfo.source
      • tool.extensionPath -> tool.sourceInfo.path

      Changed

      • Built-in tools now work like custom tools in extensions. To get built-in tool definitions, import readToolDefinition / createReadToolDefinition() and the equivalent bash, edit, write, grep, find, and ls exports from @mariozechner/pi-coding-agent.
      • Cleaned up buildSystemPrompt() so built-in tool snippets and tool-local guidelines come from built-in ToolDefinition metadata, while cross-tool and global prompt rules stay in system prompt construction.
      • Added structured sourceInfo to pi.getAllTools() results for built-in, SDK, and extension tools (#1734)

      Fixed

      • Fixed extension command name conflicts so extensions with duplicate command names can load together. Conflicting extension commands now get numeric invocation suffixes in load order, for example /review:1 and /review:2 (#1061)
      • Fixed slash command source attribution for extension commands, prompt templates, and skills in autocomplete and command discovery (#1734)
      • Fixed auto-resized image handling to enforce the inline image size limit on the final base64 payload, return text-only fallbacks when resizing cannot produce a safe image, and avoid falling back to the original image in read and @file auto-resize paths (#2055)
      • Fixed pi update for git packages to skip destructive reset, clean, and reinstall steps when the fetched target already matches the local checkout (#2503)
      • Fixed print and JSON mode to take over stdout during non-interactive startup, keeping package-manager and other incidental chatter off protocol/output stdout (#2482)
      • Fixed cli-highlight auto-detection for languageless code blocks that misidentified prose as programming languages and colored random English words as keywords
      • Fixed Anthropic thinking disable handling to send thinking: { type: "disabled" } for reasoning-capable models when thinking is explicitly off (#2022)
      • Fixed explicit thinking disable handling across Google, Google Vertex, Gemini CLI, OpenAI Responses, Azure OpenAI Responses, and OpenRouter-backed OpenAI-compatible completions (#2490)
      • Fixed OpenAI Responses replay for foreign tool-call item IDs by hashing foreign IDs into bounded fc_<hash> IDs
      • Fixed OpenAI-compatible completions streams to ignore null chunks instead of crashing (#2466 by @Cheng-Zi-Qing)
      • Fixed truncateToWidth() performance for very large strings by streaming truncation (#2447)
      • Fixed markdown heading styling being lost after inline code spans within headings