A model adds a Refunded state and forgets one match arm. In Rust that's error E0004 and the build stops. In many languages it ships. Why we think Rust suits AI-assisted development.
https://t.co/CGGKiP3uzV #RustLang
OpenBao 2.7.2 fixed three high-severity advisories. Two need more than a server upgrade. LDAP and RADIUS auth are plugins since 2.7.0 and need 0.2.0, and public OIDC clients should get client_credentials=false today.
https://t.co/7LoCNFOgJy #OpenBao
The obvious QuickCheck shrinker for a product type, Pair <$> shrink x <*> shrink y, returns nothing for Pair 0 6, because 0 can't shrink. Koz Ross on why, and the library we put on Hackage to fix it.
https://t.co/WEkRuirlau #Haskell
We killed the Vault leader halfway through a rolling move to OpenBao 2.7.1. An OpenBao node took over, the last Vault follower crashed 81 ms later, and 0 of 2,185 writes got through. A snapshot restored it in under 40 s.
https://t.co/fFNJLbbjHs #OpenBao
Vault to OpenBao 2.7.1 kept our data intact from both 1.14.8 and 2.1.2. Going back didn't. Vault restarted on the migrated storage as an empty Vault, and 27 of 35 checks failed.
https://t.co/UKg0XGVP3n #OpenBao
spo-anywhere puts a Cardano stake pool on any cloud provider with nixos-anywhere, and a binary cache means you skip the builds.
https://t.co/JhndDXFsdY #NixOS
A small team ships, and whoever built it becomes the pager. For $600 a month an MLabs engineer owns keeping it running instead, on your own infrastructure, with a person answering the next business day.
https://t.co/Qa4KKmXwW8 #OnCall
Amazon Cognito doesn't export password hashes, so leaving it means every user resets their password. Fine at ten users, a project at ten thousand. Pick an MVP's auth provider on purpose.
https://t.co/OSD5FoXXfN #MVP
Our PureScript transaction builder turns a list of steps (spend, pay, mint, vote) into a transaction. v4 can spend datum-less V3 outputs (CIP-69).
https://t.co/yxO9Tyg8x9 #PureScript
Plutarch 1.15 is merged: V4 ledger types and the new builtins, a PValidateData fix, and PTryFrom deprecated.
Koz Ross explains the changes, why Ply waits for a redesign, and the first look at Plutarch 2.0.
@IntersectMBO#Cardano
https://t.co/DkzxO31JgX
LambdaBuffers v2.1.0 is out, with Van Rossem support (Cardano protocol version 11). Generated types now cover the new builtins in the Haskell, Plutarch and Plinth backends, with no API or serialization changes.
@IntersectMBO#Cardano
https://t.co/68bAyf1hVC
CTL v10.0.0 is out, with full Van Rossem support (protocol version 11). The balancer follows the relaxed reference-input rule, and new queries cover governance proposals and DReps.
@IntersectMBO#Cardano https://t.co/uHb4Zg7QEg
A Plutarch type can live on-chain three ways. Builtin is fastest but fits only primitives and their newtypes. Sum-of-products comes second and can't go in a datum. Data is the one you can exchange.
https://t.co/eWooiCMmuF #Cardano
A Plutarch Term s a is a computation that yields an a or an error, the way an IO a holds no a inside it. Koz Ross starts there to explain the type class nearly all of Plutarch rests on.
https://t.co/WbLacLA6I6 #Cardano
The most expensive technical decisions get made early, by people who won't know for 18 months whether they were right. By the time a full-time CTO arrives, those decisions are the codebase.
https://t.co/OUJCWUMALX #CTO
A write that returned no error may not have happened. Our daily reconcile once found three items that didn't match what was live, and none had reported an error.
https://t.co/wCF2onMP4B #Automation
One change to a Haskell substring search made its worst case about 15% faster and its best case almost seven times slower. Benchmark only the worst case and it looks like a win.
https://t.co/MiTE67u5u5 #Haskell
In Haskell, 1 % 0 fails at runtime because % is a smart constructor. A quasiquoter rejects it at compile time, and it works in a pattern match, which % can't.
https://t.co/WF8Mg2fCjE #Haskell
Game of Life in Haskell took 242 ms per update with vector and 11.2 ms with massiv stencils. Same memory. A 3D automaton went from 418 ms to 39 ms.
https://t.co/G2PZWKvX5X #Haskell
@MicahAlexKenda1 Good test case. The signature check in price_feed.ak, then the collateral maths in prices.ak on top, measured as one composition. Is there a mainnet tx with a typical payload we could replay?
Map two 20-element arrays on Cardano, then zip them. Through builtin lists that cost 88.1M CPU units. With Plutarch's pull arrays it cost 44.1M, and half the memory. The longer the pipeline, the more intermediate lists it skips.
https://t.co/GdAe8VquGl #Cardano