Want to help build a crowdsourced microcontroller?
You're invited to design peripherals (UARTs, timers, synths, etc.) for a @riscv.org.web.brid.gy chip that will be fabbed for real!
Take part for free!
tinytapeout.com/competitions...
@thezoq2.bsky.social
Developing http://spade-lang.org and other fun stuff in Rust. PhD student at Linköping University Usually at https://mastodon.social/@thezoq2
Want to help build a crowdsourced microcontroller?
You're invited to design peripherals (UARTs, timers, synths, etc.) for a @riscv.org.web.brid.gy chip that will be fabbed for real!
Take part for free!
tinytapeout.com/competitions...
oh no! I'm so sorry you have to go through that
26.07.2025 08:52 — 👍 1 🔁 0 💬 0 📌 0Our CAV paper on Surfer is now available online doi.org/10.1007/978-...
In it, we talk about the user facing stuff like extensible translators, how Surfer is designed to be extensible and embeddable, and we describe our waveform parsing library - Wellen.
Post a meme made by you
05.07.2025 22:18 — 👍 11 🔁 1 💬 0 📌 0Nice! The N is indeed inferred from the coeff length
06.07.2025 07:50 — 👍 2 🔁 0 💬 0 📌 0[x] I'm in this picture and I don't like it
03.07.2025 09:27 — 👍 4 🔁 0 💬 0 📌 0That's incredible, congratulations!
02.07.2025 09:06 — 👍 1 🔁 0 💬 0 📌 0After 2 skipped releases due to me finishing my thesis, it is time for Spade 0.14.0 🎉
This brings long awaited lambda functions into the language, new standard library functions that use them, and a much improved LSP
Release blog post: blog.spade-lang.org/v0-14-0/
I'm not aware of any attempts, wellen couldn't do it out of the box, but it handles all the parsing so it should be simple to write a diff tool based on it
Perhaps with one caveat that wellen afaik is optimized for random access while diffing probably wants linear access
Something you may hopefully did not notice about my thesis is that the whole thing was written in @typst.app
I wrote a few words about why, what I liked, and what I didn't like about it for such a big document
fransskarman.com/phd_thesis_i...
TL;DR 8/10, would recommend
There it is 👀
10.06.2025 21:10 — 👍 5 🔁 1 💬 0 📌 0My thesis is now published online! 🎉
urn.kb.se/resolve?urn=...
Yes, if yosys and friends didn't exist I probably wouldn't have done any HW side projects, so i'd never have started Spade or Surfer
04.06.2025 15:47 — 👍 4 🔁 1 💬 0 📌 0Thanks! I think hardware development is really being held back by its awful tooling so I'm happy to be able to address a small chunk of that.
After my first FPGA course I remember saying "This was super fun, but with the tooling and languages, there is no way I'm ever doing this again"
My thesis is now published online! 🎉
urn.kb.se/resolve?urn=...
I’d like to formally propose that academic journals (specifically those in bioinformatics and Cs, but more generally) begin accepting manuscripts prepared with @typst.app. I mean not only for initial submission (where PDF is often sufficient), but for submission of accepted manuscripts as well!
28.05.2025 14:39 — 👍 10 🔁 4 💬 2 📌 0Chat with an article save 50% of your literature research time by asking questions to an article.
A year ago on a video I said science direct was trash but look at it nowwww... AI garbage. Why read an article??? Why not just let this algorithm spit garbage at you instead? Research!
21.05.2025 17:34 — 👍 271 🔁 19 💬 11 📌 2I'm not sure if this is what you're after at all, but I wrote a little thing for codegen in the Spade compiler here crates.io/crates/nesty
It mostly solves the issue of wanting properly indented code blocks without effort but is admittedly pretty ugly
I had to rebase a branch in a non-jj repo a few days ago, took me like 30 seconds to remember how to do it. I only switched a few months ago 😅
02.05.2025 13:54 — 👍 4 🔁 0 💬 0 📌 0Oh that looks like a very useful set of IO
23.04.2025 14:59 — 👍 1 🔁 0 💬 0 📌 0This seems like really solid advice to me!
18.04.2025 20:32 — 👍 1 🔁 0 💬 1 📌 0I talked a bit more about it on mastodon.social/@thezoq2/114... but here is a picture of the circuit and the schematic git.sr.ht/~acqrel/anal...
(Thought he schematic has some issues so it probably shouldn't be built, but can be used as a reference for how things work)
Me and a friend (Well mostly my friend, she did most of the design work) built a fully analog flappy bird last weekend
No digital logic, just ~30 op amps and 70-80 resistors, a bunch of capacitors and a few analog switches. All assembled during a 48 hour game jam
Do you love Rust, Typst, and Open Source? You may have found your dream job. Typst is looking for a Rust software engineer to work on the Typst compiler. Join us in Berlin or remotely anywhere from Germany or France. Learn more and apply: typst.app/jobs/
01.04.2025 16:21 — 👍 46 🔁 7 💬 4 📌 1Oh, and we have a cozy little matrix chat for the community over at matrix.to#/#latte-chat.... It has been pretty inactive but we're hoping to make it a persistent place for the community to hang out, so feel free to talk about anything vaguely related to the LATTE topic!
28.03.2025 15:55 — 👍 2 🔁 0 💬 0 📌 0On Sunday we're hosting LATTE ☕, our workshop on Languages and Tools for Accelerator design! We have 15 super cool papers and plenty of time for discussion!
You can attend virtually via zoom or in person with #asplos in Rotterdam capra.cs.cornell.edu/latte25/
Still super happy that the code for this is primarily just stream transformations
24.03.2025 17:34 — 👍 4 🔁 0 💬 1 📌 0Oh hell yes, working ARP response + ICMP ping request/replies on my #fpga!
24.03.2025 17:33 — 👍 5 🔁 0 💬 1 📌 0Also very satisfying that Spade is now expressive enough to easily do this, and I was able to refactor my 6 months old quite messy code into a better structure without breaking anything by just following the type system.
22.03.2025 12:06 — 👍 2 🔁 0 💬 0 📌 0Spade code which parses ARP packets and generates replies, generates UDP packets, and joins them all to send to the network port
A short wireshark trace showing 172.30.0.0 asking for who has 172.30.0.1, to which another device (my FPGA in this case) replies with its own MAC address. The computer then sends some ICMP ping packets
My ARP impl in Spade now works, my computer can ask who has the IP address of the #FPGA, and it replies correctly :)
Still incredibly pleased with this stream based network packet API. It makes packet transformation super easy, and nicely decouples "fmax buffers" and fifos from behaviour