Ian Wagner @ianwwagner.com · 14/02/2026I guess another option MIGHT be to compile the C++ library to WASM with emscripten. That’s not a very easy solution and will have a performance hit but might be a reasonable tradeoff depending on the circumstance. 000
Ian Wagner @ianwwagner.com · 14/02/2026Yeah unfortunately there isn’t an Amazingly ergonomic solution Beyond what others already suggested with caches, or porting the dependency to Rust. (This has to be one of the most under appreciated things about Rust: if the whole project is Rust you don’t have any issues.) 100
Ian Wagner @ianwwagner.com · 14/12/2025It's an inherent flaw in a centralized system. And yeah, it's not just the UK. I think Australia and many US states either currently have or are considering bans. Which, to be clear, I COMPLETELY support in principle. But it's just a data honeypot and ripe for abuse by governments. 200
Ian Wagner @ianwwagner.com · 14/12/2025It seems BlueSky is attempting to start collecting personal data for policing purposes now. I’m Not very active here anyways, but will be less so in the future. Follow me on Mastodon or my blog if you’d like to stay up to date. 230
Ian Wagner @ianwwagner.com · 18/11/2025Bored of scrolling social media during the CloudFlare outage? Maybe you can suggest an even more ergonomic trackball for me ;) ianwwagner.com/elecom-deft-... (Blog ironically not down as it's hosted on GitHub Pages.)ianwwagner.comElecom Deft Pro - Two Months InIt's not quite two months in, but I said I'd give an update on the Elecom Deft Pro after some use, s... 030
Ian Wagner @ianwwagner.com · 10/10/2025huh... anything "interesting" with your network like using a VPN? I tried it just now on my Korean home WiFi and on cell data without issue. 100
Ian Wagner @ianwwagner.com · 09/10/2025hmm… the server is GitHub Pages 😅 Maybe they had an outage? 100
Reposted by Ian WagnerMike Galsworthy @mikegalsworthy.bsky.social · 04/10/2025History repeats. 266114995525
Ian Wagner @ianwwagner.com · 07/10/2025New on the blog: const assertions. ianwwagner.com/const-assert...ianwwagner.comConst AssertionsI'm currently working on a project which involves a lot of lower level data structures. By lower lev... 110
Ian Wagner @ianwwagner.com · 27/09/2025New trackball arrived today. I wrote a bit about it here: ianwwagner.com/elecom-deft-...ianwwagner.comElecom Deft Pro - First ImpressionsI recently picked up a new trackball to replace my prematurely aging Elecom HUGE. Here are my first ... 010
Ian Wagner @ianwwagner.com · 08/09/2025New on the blog: ianwwagner.com/finishing-dr...ianwwagner.comFinishing Dragonball in KoreanOver the past few days of vacation I finally had the chance to finish reading Dragonball! I started ... 000
Reposted by Ian WagnerStadia Maps @stadiamaps.com · 01/08/2025🪄 Good AI tooling, especially for APIs, isn't automatic or intuitive. 🪄 In fact, our first attempts failed spectacularly. Read the first post in a new series we're writing about how to build great AI tools (including #MCP servers) for #API companies. 👇 stadiamaps.com/news/ai-tool...stadiamaps.comAI Tools for API Companies: AI Needs Context, or How Our Auto-Generation Failed SpectacularlyWhy our obvious approach to building MCP servers failed spectacularly, and what we learned about AI-native API consumption. This is the first post in our series about AI tools for API companies. 011
Ian Wagner @ianwwagner.com · 04/07/2025(Or, a more cynical version: "portable" = "it can be ported"... see, we saved you the hand assembly work, so you CAN port it to this other computer :P) 000
Ian Wagner @ianwwagner.com · 04/07/2025Right?! I've ranted about this several times in the past (offline) and am pretty sure that when C programmers say "portable" they mean "does not require me to hand-write assembly." That's it. Your C program is almost never *actually* portable for any natural usage of the word. 100
Ian Wagner @ianwwagner.com · 04/07/2025Super proud of this :) It’s been quite a journey the past few months building this. Expect a few more deep dive blogs soon! (And in case you missed it, I wrote about the quirks of Unicode normalization here: ianwwagner.com/til/unicode-...)ianwwagner.comUnicode NormalizationToday I ran into an amusingly named place, thanks to some sharp eyes on the OpenStreetMap US Slack. The name of this restaurant is listed as ”𝐊𝐄𝐁𝐀𝐁 𝐊𝐈𝐍𝐆 𝐘𝐀𝐍𝐆𝐎𝐍“. 021
Reposted by Ian WagnerMichael (compiler-errors) Goulet @errs.io · 02/07/2025Howdy all. I'm unfortunately not going to be with my employer for much longer due to team relocation. If anyone has any info on roles that would allow me to continue my Rust compiler work (in New York City), they'd be greatly appreciated. 19345
Ian Wagner @ianwwagner.com · 10/06/2025In Seoul? You should come to our meetup next month ;) Wednesday Jul 2 at 7pm. RSVP: www.meetup.com/rust-seoul-m... #rust #rustlangmeetup.comSeoul Rust Meetup, Wed, Jul 2, 2025, 7:00 PM | Meetup# Welcome to our Meetup! Seoul Rust is a monthly meetup for Rust developers and enthusiasts. Whether you're just learning Rust or are an experienced developer, we hope you 000
Ian Wagner @ianwwagner.com · 31/05/2025Weekend light blog: Ownership benefits beyond memory safety. Or, how the way you implement APIs in can prevent footguns. Inspired by an old friend's post in a Slack chat about hours wasted on this entirely preventable problem! ianwwagner.com/blog/ownersh... #rust #rustlangianwwagner.comOwnership Benefits Beyond Memory SafetyRust’s ownership system is well-known for the ways it enforcesmemory safety guaranteees. For example, you can’t use some value after it’s been freed. Further, it also ensures that mutability is explic... 020
Ian Wagner @ianwwagner.com · 18/05/2025Rust has some pretty baller tooling crates 😀 Generated this railroad syntax diagram for a mustache derived template DSL using github.com/nu11ptr/pest... in just a few seconds 🤯 #rustlang 181
Ian Wagner @ianwwagner.com · 14/05/2025Building a fitness app? Or planning a hill climb? We can help :) 022
Ian Wagner @ianwwagner.com · 09/05/2025Today's fun with Unicode, OpenStreetMap, Foursquare OS Places, and giving users useful search results :) ianwwagner.com/til/unicode-... #unicode #programming #openstreetmap 120
Ian Wagner @ianwwagner.com · 07/05/2025I wrote a few posts in 2025, AND I have RSS ;) ianwwagner.com What's your blog? Didn't see a link in the post / your bio ;)ianwwagner.comWelcomeMost people know me as a programmer. I’ve been developing mobile apps since the month the App Store launched. I love startups, and have co-founded a few. 010
Ian Wagner @ianwwagner.com · 05/05/2025heh... says the president of the country with one of the world's highest incarceration rates. 100
Ian Wagner @ianwwagner.com · 03/05/2025It's been 0 days since it was DNS 😂 I learned a few things today, and you can too! ianwwagner.com/til/edns-cli...ianwwagner.comEDNS Client-Subnet and Geographic DNSDNS is a complex beast, so it’s little surprise when I learn something new. Today I learned a bit more about the internals of how DNS works at various privacy-centric providers. 000
Ian Wagner @ianwwagner.com · 02/04/2025Thanks! Not really sure I have any grand plans for it at the moment... just felt like something that needed to exist since MapKit is currently a bit broken 😅 If you're interested in other mappy things though, check out github.com/stadiamaps/f..., which occupies much of my free time these days!github.comGitHub - stadiamaps/ferrostar: A FOSS navigation SDK built from the ground up for the futureA FOSS navigation SDK built from the ground up for the future - stadiamaps/ferrostar 010
Ian Wagner @ianwwagner.com · 21/03/2025Crate in question: docs.rs/tempfile/lat.... Seems like this is appropriate if your use case is served by temp files. Or does it need to be something in memory for performance reasons (more like a message queue or some other form of IPC)?docs.rstempfile - RustTemporary files and directories. 100
Ian Wagner @ianwwagner.com · 21/03/2025Interesting. I mean, it sounds like it's a pretty easy mistake to make, and both of these look like fairly small projects so they probably just work for the author's intended use. Now I'm curious what you're building though which needs a virtual filesystem. Would something like tempfile work? 100
Ian Wagner @ianwwagner.com · 20/03/2025Yeah, that's what it looks like. And it also appears the readable file just clones the last bytes that were "committed." Agree it's a weird design choice too. I get the vibe that it's an intentionally minimalist project for unit tests and such, so that probably just never came up as a use case. 120
Ian Wagner @ianwwagner.com · 20/03/2025It looks like there's a custom drop impl: github.com/manuel-woelk.... I'm a bit too lazy to trace all the threads in a browser, but the reader probably doesn't see anything until the writer is dropped. And flush doesn't really behave like you'd expect.github.com 130
Ian Wagner @ianwwagner.com · 20/03/2025That doesn't necessarily mean it was designed to support reads from another handle while the file is still "open" (the "trick" is that the block drops the handle). Vfs looks like a minimalist "filesystem" designed for use in unit tests, so I wouldn't expect it to mimic all "usual" behaviors. 000
Ian Wagner @ianwwagner.com · 20/03/2025I'm not familiar with the vfs crate (and it's sadly not in the rust playground), but I assume what's happening is that the data is not written to the "file" until you flush, some buffer fills up, etc. Most languages do this, and it's often device dependent (ex: a TTY may be line buffered). 120
Ian Wagner @ianwwagner.com · 18/03/2025I'm definitely doing some crimes with my proc macro implementation, but it's pretty hard to argue with ~200 LOC to replace 456 unit tests and generate a proper data model from a few hundred YAML files at compile time 😂 #rust #rustlang 120
Ian Wagner @ianwwagner.com · 03/03/2025As we turn the corner into March, here's a good reminder to be *very* careful if you're ever tempted to use JavaScript for anything ;) ianwwagner.com/til/date-ins... #JavaScript #TIL #Programmingianwwagner.comDate Insanity with JavaScriptEarlier today, a friend sent me a joke about boycotting <some big evil tech company> for three days: Feb 29, 30, and 31. I thought this was pretty funny. 141
Ian Wagner @ianwwagner.com · 25/02/2025Ooh 😍 album.link/t/418331552 #SoundOfTheDay #TranceFamilyalbum.link25 Years Of Anjuna Mixed By Luttrell by LuttrellListen now on your favorite streaming service. Powered by Songlink/Odesli, an on-demand, customizable smart link service to help you share songs, albums, podcasts and more. 000
Ian Wagner @ianwwagner.com · 18/02/2025As one might expect, running JS that’s transpiled to WASM without JIT is going to be relatively slow, but that’s another story ;) Using both in the default configurations. It's possible wasmtime has better caching defaults. My v8 embedding was the rust_v8 crate from @deno.land (thanks for that!). 000
Ian Wagner @ianwwagner.com · 18/02/2025Absolutely wild fact: creating a new V8 isolate (assuming I’m not “holding it wrong”) and compiling a large ES module can take over 100ms. But creating a new component instance in wasmtime is more on the order of 10ms 🤔 I *think* this is roughly apples to apples. #WASM #javascript 231
Ian Wagner @ianwwagner.com · 16/02/2025This weekend I finally got around to trying something “real” with WASM components. I was able to successfully componentize a sizable library *written in JavaScript* using jco, and then call it from a Rust application! many right edges but it works! Blog post coming. #WASM #rustlang #javascript 030
Ian Wagner @ianwwagner.com · 14/02/2025Wait, Bluesky doesn't have the ability to save/bookmark a post for later? 130
Ian Wagner @ianwwagner.com · 14/02/2025Finally found some ski buddies here and had an amazing (but long!) day on the slopes yesterday :) Guess I can also say I've skied an Olympic venue now haha. 010
Reposted by Ian WagnerA.R. Moxon @juliusgoat.bsky.social · 08/02/2025“Terrible things are happening outside. Poor helpless people are being dragged out of their homes. Families are torn apart; men, women and children are separated. Children come home from school to find that their parents have disappeared.” -Anne Frank www.democracynow.org/2025/2/6/hea...democracynow.orgICE Agents in Colorado Go Door to Door Demanding IDs and Asking People to Turn In Their NeighborsIn Colorado, heavily armed ICE agents carried out large-scale immigration raids at apartment complexes across Denver and Aurora on Wednesday. The Denver Post reports masked agents knocked on doors dem... 32962427
Ian Wagner @ianwwagner.com · 10/02/2025huh... TIL about Canada being different! Funny enough, there is a Korean riff on the same idea as Costco / Sams called eMart Traders Wholesale Club that's growing really fast. One of their promotional banners for why to shop there says "you can use any card you want" 😆 010
Ian Wagner @ianwwagner.com · 07/02/2025Exclusivity deals. It used to be Amex-only in some countries previously. Kinda funny, right? 200
Reposted by Ian WagnerDuckDB @duckdb.org · 05/02/2025We are happy to announce DuckDB v1.2.0 “Histrionicus”! The new release has several usability, security and performance improvements. It has new features for the CSV and Parquet formats, as well new (opt-in) options for DuckDB's own format. Read more at duckdb.org/2025/02/05/a... 15823
Ian Wagner @ianwwagner.com · 05/02/2025We’re making it even easier to search the world. Our latest geocoding and search API update brings in a new data source (in beta): Foursquare OS Places. I’ve been using 4sq apps for almost 15 years, and it’s great to see them embracing open data! Try it out and let us know what you think! 020