In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

Thanks, @xuu, great explanation. In another project I’ve structured it exactly like you wrote. The mock storage over there extends the SQLite storage and provides mechanism to return errors and such for testing purposes:

  • storage/ defines the interface
    • sqlite/ implements the storage interface
    • mock/ extends the SQLite implementation by some mocking capabilities and assertions

Here, however, there are no storage subpackages. It’s just storage, that’s it. Everything is in there. The only implementation so far is an SQLite backend that resides in storage. My RAM storage is exactly that SQLite storage, but with :memory: instead a backing file on disk. I do not have a mock storage (yet).

I have to think about it a bit more, but I probably have to do exactly that in my tt rewrite, too. Sigh. I just have the feeling that in storage/sqlite/sqlite_test.go I cannot import storage/mock for the helper because storage/mock/mock.go imports and embeds the type from storage/sqlite. But I’m too tired right now to think clearly.

⤋ Read More

AMD Preparing “High Precision” Mode For Upcoming Instinct MI350X (GFX950)
On Friday AMD sent out another batch of AMDGPU and AMDKFD kernel driver feature patches destined for the upcoming Linux 6.15 kernel cycle. One notable feature in this late pull request is introducing a new “high precision” mode to be found with the GFX950 target, which is believed to be the upcoming Instinct MI350X series… ⌘ Read more

⤋ Read More

Intel Preps Linux For “Platform Temperature Control” With Lunar Lake & Panther Lake SoCs
Intel’s new Platform Temperature Control (PTC) feature is a hardware-based solution to manage skin and/or board temperatures of a device. Platform Temperature Control will adjust the SoC power/performance if the temperature thresholds are exceeded, which are programmed by the device manufacturer. But new Linux patches posted allow controlling the Intel Platform Temperature Control feature found with new Core Ultra Lunar … ⌘ Read more

⤋ Read More

ALGOL 68 Compiler Front-End Not Being Merged Into GCC At This Point
ALGOL 68 is an imperative programming language that’s more than a half-century old and went on to inspire and influence other programming languages. It has its place in programming language history but a recently published compiler front-end for ALGOL 68 has been decided for now at least not to be upstreamed into the GNU Compiler Collection (GCC)… ⌘ Read more

⤋ Read More

Intel NPU Firmware Files Upstreamed To linux-firmware.git
For two years now the Intel IVPU accelerator driver has been part of the mainline kernel for supporting the Neural Processing Unit (NPU) that’s part of the Core Ultra “Meteor Lake” CPUs and newer. Only this week though was the firmware for the Intel NPUs now upstreamed to the linux-firmware.git repository… ⌘ Read more

⤋ Read More

Linux Micro Development Board Now Features 8GB eMMC and PoE Support
The Luckfox Lyra Ultra is the latest addition to the Lyra series, featuring the RK3506B processor with a tri-core ARM Cortex-A7 and Cortex-M0 architecture. With its expanded storage, additional memory, built-in wireless connectivity in the Ultra W variant, and PoE support, the Lyra Ultra builds on previous models while maintaining compatibility within the Lyra series. […] ⌘ Read more

⤋ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

re reading so NewRAMStorage(…) is just something that setups your storage and initial data.. that can probably live with storage/sqlite. The point is the storage package does not import the implementations of storage.Storage It just defines the contract for things that use that interface. Now storage/sqlite CAN import storage and not have a circle dep.

It kinda works in reverse for import directions. usually you have your root package that imports things from deeper in the directory structures.. but for the case of interfaces it reverses where the deeper can import from parents but parents cannot import from children.

- app < storage
      < storage/sqlite
      < controller < storage
                   < storage/sqlite
 
- sqlite < storage

- storage X storage/sqlite

⤋ Read More

Wine Releases Framework Mono 6.14 In Taking Over The Mono Project
Last year Microsoft donated the Mono Project to Wine for its stewardship under the WineHQ umbrella. Today marks the Framework Mono 6.14 release as the first major Mono release in five years and the first under the WineHQ organization… ⌘ Read more

⤋ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

@lyse@lyse.isobeef.org OK. So how I have worked things like this out is to have the interface in the root package from the implementations. The interface doesn’t need to be tested since it’s just a contract. The implementations don’t need to import storage.Storage

  • storage/ defines the Storage interface (no tests!)
    • storage/sqlite for the sqlite implementation tests for sqlite directly
    • storage/ram for the ram implementation and tests for RAM directly
  • controller/ can now import both storage and the implementation as needed.

So now I am guessing you wanted the RAM test for testing queries against sqlite and have it return some query response?

For that I usually would register a driver for SQL that emulates sqlite. Then it’s just a matter of passing the connection string to open the registered driver on setup.

https://github.com/glebarez/go-sqlite?tab=readme-ov-file#connection-string-examples

⤋ Read More

Rust Coreutils 0.0.30 Enhances GNU Compatibility, Uutils To Port More Common Unix Tools
The uutils project has released Rust Coreutils 0.0.30 as the newest version of this GNU Coreutils rewrite within the Rust programming language. Uutils developers will also be targeting more common Unix tools to port over to Rust too… ⌘ Read more

⤋ Read More

GTK On Android & macOS Seeing Improvements
In addition to Friday’s very exciting GNOME 48 release candidate with some last minute features, there have also been some other GNOME-related changes this week to call out… ⌘ Read more

⤋ Read More

Wine-Staging 10.3 Adds Patch For A 15 Year Old Bug
Building off yesterday’s release of Wine 10.3 is now Wine-Staging 10.3 for this more experimental version of Wine that is presently shipping 347 experimental/testing patches atop the upstream state… ⌘ Read more

⤋ Read More

KDE This Week Took Care Of “A Very Large Number Of Bugs”
KDE developer Nate Graham is out with the newest issue of This Week in Plasma to highlight all of the interesting KDE Plasma improvements merged for the week… ⌘ Read more

⤋ Read More

OrangePi RV2: A Cost-Effective RISC-V Board with M.2 2280 Slot and Dual Gigabit Ethernet
OrangePi has launched another RISC-V development board following the release of the Orange Pi RV in 2024. This new SBC, OrangePi RV2, is powered by the Ky X1 octa-core RISC-V AI CPU, delivering 2TOPS of AI computing power for applications in machine learning, robotics, and embedded systems. Unlike the original Orange Pi RV, which was […] ⌘ Read more

⤋ Read More

Wine 10.3 Wires Up Wayland Driver Clipboard Handling, Vulkan Video Decode Within WineD3D
Wine 10.3 was just released as the newest bi-weekly development release for this open-source software to run Windows applications and games under Linux and other platforms… ⌘ Read more

⤋ Read More

GNOME 48 Release Candidate Brings Late Mutter Features & Other Changes
The GNOME 48 release candidate “48.rc” is out this evening as we approach the stable release of the GNOME 48 desktop in two weeks… ⌘ Read more

⤋ Read More
In-reply-to » Ich fahre gleich zwei Stunden mit dem Zug durch das sonnige Mecklenburg-Vorpommern, um morgen PÜNKTLICH 🐓 mit den Schwiegereltern zur Familienfeier nach Thüringen aufbrechen zu können. Ein Wochenende auf Achse wird das. 🚞🚐😞

@arne@uplegger.eu Hals- und Beinbruch! Die Bahn hat ja nur die vier Feinde: Frühling, Sommer, Herbst und Winter. Wurdest Du heute positiv überrascht?

⤋ Read More

Vulkan Video Continues Making Inroads, VP9 Decode Planned For This Year
At the Vulkanised 2025 conference a few weeks back in Cambridge (UK) there were a few presentations concerning Vulkan Video for this cross-vendor, cross-platform video encode/decode interface… ⌘ Read more

⤋ Read More

Ubuntu To Revert “-O3” Optimizations, Continues Quest For Easier ARM64 Installations
Canonical engineer Matthieu Clemenceau has posted a status update on the behalf of the Ubuntu Foundations engineers now half-way through the Ubuntu 25.04 development cycle. A number of notable package updates have landed as well as continued work on better ARM64 support and coming to a decision over “-O3” optimized packages… ⌘ Read more

⤋ Read More

AMD Officially Confirms Ryzen 9 9900X3D + Ryzen 9 9950X3D Pricing & Availability
Back in January at CES was the Ryzen 9 9000X3D and Ryzen 9 9950X3D announcement while today AMD officially confirmed the release date and pricing on these new Zen 5 desktop CPUs with 3D V-Cache… ⌘ Read more

⤋ Read More

GCC 15 Now Enables AArch64 Early Scheduling For -O3/-Ofast Modes
The GCC “-fschedule-insns” option allows for reordering of instructions to eliminate execution stalls when required data is unavailable. This early scheduling option can be beneficial for systems with slow floating point performance or costly memory load instructions. With the upcoming GCC 15 release, AArch64 will be enabling this early scheduling optimization at the -O3 optimization level and higher… ⌘ Read more

⤋ Read More

M5Stack Cardputer v1.1 Brings Upgraded Microcontroller and Improved Keyboard
M5Stack has released Cardputer v1.1, an upgraded version of its compact computing platform. The latest version introduces the StampS3A microcontroller, an improved antenna, and a more responsive keyboard, enhancing stability and usability. Additional refinements include optimized power consumption and better RGB LED control, improving overall efficiency. Cardputer v1.1 features the StampS3A, … ⌘ Read more

⤋ Read More

Unofficial ROCm SDK Builder Expanded To Support More GPUs
The community-based ROCm SDK Builder is an unofficial project leveraging the open-source AMD ROCm code and making it easy to build machine learning and GPU compute software across a range of environments and helping ensure proper integration with other machine learning tools and models. The ROCm SDK Builder takes special focus on the consumer Radeon iGPUs and dGPUs that typically aren’t as much of a focus for the upstream AMD ROCm stack… ⌘ Read more

⤋ Read More

Ich fahre gleich zwei Stunden mit dem Zug durch das sonnige Mecklenburg-Vorpommern, um morgen PÜNKTLICH 🐓 mit den Schwiegereltern zur Familienfeier nach Thüringen aufbrechen zu können.
Ein Wochenende auf Achse wird das. 🚞🚐😞

⤋ Read More

Intel Xe Driver Introducing SVM, EU Stall Sampling & Other New Features For Linux 6.15
Intel engineers today sent out their final drm-xe-next feature pull request to DRM-Next of the remaining features they are ready to land for the modern Intel Xe kernel graphics driver with the upcoming Linux 6.15 cycle. It’s a big one… ⌘ Read more

⤋ Read More

New Round Of Driver Optimizations For AMD RadeonSI In Mesa 25.1
Well known AMD Mesa driver developer Marek Olšák has been at it again working on some further performance optimizations to the open-source RadeonSI Gallium3D driver code… ⌘ Read more

⤋ Read More

Intel VSEC Driver Preps For Diamond Rapids In Linux 6.14
Sent out today was a batch of platform-drivers-x86 fixes for the ongoing Linux 6.14 kernel cycle. Notable among these fixes is introducing Intel Xeon “Diamond Rapids” support to the Intel VSEC driver… ⌘ Read more

⤋ Read More

LILYGO Upgrades T-Watch S3 with GPS and a 940mAh Battery
LILYGO has introduced the T-Watch S3 Plus, an upgraded version of its ESP32-based smartwatch. While maintaining the open-source flexibility of its predecessor, this new model adds GPS positioning, a larger 940mAh battery, and refined hardware features. It supports Arduino-IDE and VS Code making it an adaptable platform for developers and hobbyists. The T-Watch S3 Plus […] ⌘ Read more

⤋ Read More

Unexpected 2025 Flashback: New Linux Patches For AMD’s ARM-Based Opteron A1100 “Seattle”
A new set of patches hitting the Linux kernel mailing list today may cause some flashbacks and likely not on your 2025 bingo card… Some DeviceTree updates for AMD’s short-lived Opteron A1100 “Seattle” ARM SoC that was cancelled shortly after being announced back in 2016… ⌘ Read more

⤋ Read More

Apple Touch Bar Display Drivers Slated For Introduction In Linux 6.15
The upcoming Linux 6.15 kernel is expected to merge two new Direct Rendering Manager (DRM) display drivers for supporting the Apple Touch Bar displays on older Intel x86 Macs and a newer “ADP” driver for handling the Apple Touch Bar displays on the newer Apple M1/M2-powered MacBooks… ⌘ Read more

⤋ Read More
In-reply-to » Hacer software código opensource es desafiante y paulatinamente desgasta a su autor. Todo comienza con pasión y entusiasmo, por supuesto. Si logras repercusión, te enfrentas a una carrera de fondo que muchos terminan abandonando por las demandas constantes de usuarios que, a menudo, no valoran el trabajo ni contribuyen de manera significativa. Por mencionar un caso reciente: Hector Martin. Líder del proyecto Asahi Linux, quien dedicó años a adaptar Linux para los procesadores Apple Silicon, un logro técnico impresionante. Sin embargo, terminó renunciando debido a la presión de usuarios que exigían soporte y mejoras como si fueran clientes pagos.

[lang=es] definitivamente es una buena llamada de atención para promover más donaciones a proyectos opensource. La verdad apoyo menos proyectos de los que ‘debería’, por el valor que me ofrecen.

Una opinión pragmática es que hay la libertad de no pagar, pero también esto nos debería llevar a que tenemos la libertad de SÍ reconocer los proyectos que nos dan valor, por medio de un donativo puntual o constante. Adaptarnos al contexto de lo que estamos ofreciendo.

Mi chava trabaja en Asociaciones Civiles (tipo OSALs/ONGs) y es un reto pedir donativos, por lo que es común pedir ‘Cuotas de recuperación’ pues ayudan a valorar más el servicio, y a que fluya el donativo. Creo que se puede hacer algo así en el código libre, apelando a diferentes motivadores en los usuarios.

⤋ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

@xuu My layout looks like this:

  • storage/
    • storage.go: defines a Storage interface
    • sqlite.go: implements the Storage interface
    • sqlite_test.go: originally had a function to set up a test storage to test the SQLite storage implementation itself: newRAMStorage(testing.T, $initialData) *Storage
  • controller/
    • feeds.go: uses a Storage
    • feeds_test.go: here I wanted to reuse the newRAMStorage(…) function

I then tried to relocate the newRAMStorage(…) into a

  • teststorage/
    • storage.go: moved here as NewRAMStorage(…)

so that I could just reuse it from both

  • storage/
    • sqlite_test.go: uses testutils.NewRAMStorage(…)
  • controller/
    • feeds_test.go: uses testutils.NewRamStorage(…)

But that results into an import cycle, because the teststorage package imports storage for storage.Storage and the storage package imports testutils for testutils.NewRAMStorage(…) in its test. I’m just screwed. For now, I duplicated it as newRAMStorage(…) in controller/feeds_test.go.

I could put NewRAMStorage(…) in storage/testutils.go, which could be guarded with //go:build testutils. With go test -tags testutils …, in storage/sqlite_test.go could just use NewRAMStorage(…) directly and similarly in controller/feeds_test.go I could call storage.NewRamStorage(…). But I don’t know if I would consider this really elegant.

The more I think about it, the more appealing it sounds. Because I could then also use other test-related stuff across packages without introducing other dedicated test packages. Build some assertions, converters, types etc. directly into the same package, maybe even make them methods of types.

If I went that route, I might do the opposite with the build tag and make it something like !prod instead of testing. Only when building the final binary, I would have to specify the tag to exclude all the non-prod stuff. Hmmm.

⤋ Read More

Ubuntu 25.10 Planning To Use Dracut By Default
For the past number of months there has been talk in the Ubuntu developer space around replacing initramfs-tools with Dracut for handling initrd generation. While there has been progress in switching to Dracut, they aren’t over the finish line yet and not until Ubuntu 25.10 are they planning to use Dracut by default… ⌘ Read more

⤋ Read More

Meta’s eBPF-Powered Strobelight Software Reduced CPU Cycles By 20%
Adding to the excitement around the possibilities provided by the in-kernel eBPF Linux tech, Meta shared that their Strobelight software they are working on open-sourcing for profiling across servers has yielded a 20% reduction in CPU cycles and in turn a 10-20% reduction in the number of required servers for Meta’s top services… ⌘ Read more

⤋ Read More

SiFive HiFive Premier P550 RISC-V Linux Performance
SiFive recently sent over a review sample of the much anticipated HiFive Premier P550 developer board, their newest RISC-V creation featuring four RISC-V cores, Imagination AXM-8-256 integrated GPU, Gigabit Ethernet, PCIe x16 slot, and 16GB or 32GB of RAM. The HiFive Premier P550 is a modern RISC-V developer board capable of desktop uses, developer build boxes, and similar with pricing starting out at $399 USD. Here is a look at the SiFive HiFive Premier P55 … ⌘ Read more

⤋ Read More

Hacer software código opensource es desafiante y paulatinamente desgasta a su autor. Todo comienza con pasión y entusiasmo, por supuesto. Si logras repercusión, te enfrentas a una carrera de fondo que muchos terminan abandonando por las demandas constantes de usuarios que, a menudo, no valoran el trabajo ni contribuyen de manera significativa. Por mencionar un caso reciente: Hector Martin. Líder del proyecto Asahi Linux, quien dedicó años a adaptar Linux para los procesadores Apple Silicon, un logro técnico impresionante. Sin embargo, terminó renunciando debido a la presión de usuarios que exigían soporte y mejoras como si fueran clientes pagos.

La mayoría de los mantenedores no reciben ningún soporte económico. Solo unos pocos proyectos logran sostenibilidad financiera a través de patrocinios, mientras que la mayoría de los desarrolladores terminan con un segundo empleo no remunerado.

Sin un cambio en la forma en que se valora y apoya los proyectos Opensource, y no solo hablo de las grandes empresas multimillonarias. Sería una perdida para todos si acabaremos con un ecosistema de software archivado y abandonado.

Ahora te paso la pelota a ti, ¿cuando fue la última vez que apoyaste a un mantenedor de software opensource?

#opensource #software #sostenibilidad

⤋ Read More

PipeWire 1.4 Released With MIDI 2.0 Support & Other New Features
Wim Taymans of Red Hat today released PipeWire 1.4 as the newest major update for this leading open-source software to replace PulseAudio, JACK, and other solutions on the modern Linux desktop for managing audio and video streams in a very excellent way… ⌘ Read more

⤋ Read More

Palavras de Francisco Ferreira na mais recente newsletter da #ZERO :

“Há poucas semanas, esta nova Comissão (apesar da mesma Presidente Ursula von der Leyen), apresentou o chamado pacote legislativo “omnibus”. […]
A proposta #Omnibus pretende alterar três pilares fundamentais do Pacto Ecológico Europeu - a Diretiva de Dever de Diligência das Empresas em Sustentabilidade (#CSDDD), a Diretiva de Comunicação de Informações de Sustentabilidade das Empresas (#CSRD) e o Regulamento de Taxonomia. Tal pode comprometer os objetivos climáticos e sociais da União Europeia. O argumento da simplificação regulatória, usado pela Comissão Europeia, vai, na prática, resultar no enfraquecimento de regras fundamentais que garantem transparência empresarial, redução de emissões e proteção dos direitos humanos nas cadeias de fornecimento globais. Além disso, essa revisão legislativa ameaça as empresas que já investiram na transição sustentável, favorecendo aquelas que ainda não se adaptaram às exigências ambientais e sociais.

Quando a Europa deveria ser um farol à escala mundial, num mundo ameaçado por enormes crises ambientais, estamos afinal a retroceder em áreas fundamentais para o futuro.”

⤋ Read More

Blender’s Vulkan Renderer Is Making Great Progress To Production Readiness This Year
With the release of Blender 4.3 last November an experimental Vulkan back-end was added and it continues to be improved upon for modernizing this 3D creation suite for digital artists and serving a variety of other purposes. The upcoming Blender 4.4 release will further refine the Vulkan support while later in the year it should be reaching production readiness… ⌘ Read more

⤋ Read More

FreeBSD Continues Working On 802.11n/802.11ac WiFi & Other Laptop Improvements
The FreeBSD Foundation paired with resources committed by AMD, Dell, and Framework are working to improve FreeBSD laptop support. In recent months there have been FreeBSD development efforts to improve the power management support with modern laptops as well as a strong focus on enhancing the WiFi driver support. A status update was issued yesterday for highlighting the latest FreeBSD laptops efforts… ⌘ Read more

⤋ Read More

FEX 2503 Brings Fixes & Multi-Block By Default For x86_64 Linux Binaries On ARM64
FEX 2503 is out as the newest monthly update to this open-source emulator that enables the ability to run Linux x86_64 binaries on Linux ARM64 (AArch64) hosts… ⌘ Read more

⤋ Read More

India Grants Tax Officials Sweeping Digital Access Powers
India’s income tax department will gain powers to access citizens’ social media accounts, emails and other digital spaces beginning April 2026 under the new income tax bill, in a significant expansion of its search and seizure authority.

The legislation, which has raised privacy concerns among legal experts, allows tax officers to “gain access by overriding th … ⌘ Read more

⤋ Read More

Goldman Sachs: Why AI Spending Is Not Boosting GDP
Goldman Sachs, in a research note Thursday (the note isn’t publicly posted): Annualized revenue for public companies exposed to the build-out of AI infrastructure increased by over $340 billion from 2022 through 2024Q4 (and is projected to increase by almost $580 billion by end-2025). In contrast, annualized real investment in AI-related categories in the US GDP accounts has only … ⌘ Read more

⤋ Read More

Utah Passes First US App Store Age Verification Law
Utah has become the first U.S. state to pass legislation requiring app store operators to verify users’ ages and obtain parental consent for minors downloading apps.

The App Store Accountability Act adds to a wave of children’s online safety bills advancing through state legislatures nationwide. Similar legislation has faced legal challenges, with many being blocked in c … ⌘ Read more

⤋ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

maybe even an internal that has the shared test stuff

⤋ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

oof that sucks man. does it make sense to have a separate testutils package to import from?

⤋ Read More

Amazon Tests AI Dubbing on Prime Video Movies, Series
Amazon has launched a pilot program testing “AI-aided dubbing” for select content on Prime Video, offering translations between English and Latin American Spanish for 12 licensed movies and series including “El Cid: La Leyenda,” “Mi Mama Lora” and “Long Lost.” The company describes a hybrid approach where “localization professionals collaborate with AI,” suggesting automate … ⌘ Read more

⤋ Read More

AMD Announces “Instella” Fully Open-Source 3B Language Models
Another announcement at AMD today beyond the open-source Linux driver fun for the Radeon RX 9070 series is announcing the open-sourcing of Instella as their new fully open 3B parameter language models… ⌘ Read more

⤋ Read More

Google is Adding More AI Overviews and a New ‘AI Mode’ To Search
Google announced Wednesday it is expanding its AI Overviews to more query types and users worldwide, including those not logged into Google accounts, while introducing a new “AI Mode” chatbot feature. AI Mode, which resembles competitors like Perplexity or ChatGPT Search, will initially be limited to Google One AI Premium subscribers who enable it … ⌘ Read more

⤋ Read More
In-reply-to » lang=en @xuu gotcha! From that PR #17 I think it was reverted? We could discuss about metadata later this month, as it seems that I'm the only person using it.

it seems to be confused with the subject right next to it.. it works better at the end of the twt string.
Yarn won’t display anything. but the parser does add it to the AST in a way that you can parse it out using twt.Attrs().Get("lang")

https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L1270-L1272

https://git.mills.io/yarnsocial/go-types/src/branch/main/twt.go#L473-L478

⤋ Read More

Europe on Alert Over Suspected Sabotage of Undersea Cables
European nations have heightened security after a series of suspected sabotage attacks on submarine infrastructure in the Baltic Sea, with officials increasingly pointing to Russia as the likely culprit.

Finnish authorities detained the tanker Eagle S in December after it allegedly damaged three undersea fiber-optic connections with Estonia and one with Ger … ⌘ Read more

⤋ Read More

Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don’t like any of the alternatives. :-(

⤋ Read More

Nintendo Says Latest Legal Win Against Piracy ‘Significant’ For ‘Entire Games Industry’
Nintendo has trumpeted its latest legal success in the company’s ongoing fight against pirated games as “significant” not only for itself, “but for the entire games industry.” From a report: The Mario maker today confirmed it had won a final victory over French file-sharing company Dstorage, which operat … ⌘ Read more

⤋ Read More

Could New Clocks Keep Airplanes Safe From GPS Jamming?
Geoffrey.landis writes: Over the last three months of 2024, more than 800 cases of GPS interference were recorded in Lithuanian airspace. Estonia and Finland have also raised concerns, accusing Russia of deploying technology to jam satellite navigation signals near Nato’s eastern flank.

A group of British scientists – dubbed the “Time Lords” – are working on a … ⌘ Read more

⤋ Read More
In-reply-to » Hi everyone, I've drafted a Request for Comments (RFC) to improve how threads work in twtxt: https://git.mills.io/yarnsocial/twtxt.dev/issues/18

Thank you, @eapl.me@eapl.me, this is awesome! I’m curious to see if we find some more advantages with the current approach. It seems there should be some more, but I can only think disadvantages right now. :-)

⤋ Read More