TheZoq2
@thezoq2.bsky.social
200 followers 55 following 82 posts
Developing http://spade-lang.org and other fun stuff in Rust. PhD student at Linköping University Usually at https://mastodon.social/@thezoq2
Posts Media Videos Starter Packs
Pinned
thezoq2.bsky.social
I guess #introduction is a thing here too

👋 Hi, I'm Frans

I'm a PhD student at Linköping University, working on programming tools for #fpga. I develop spade-lang.org, an HDL inspired by Rust with abstractions for common hardware constructs and the surfer-project.org waveform viewer.
Spade | Spade Hardware Description Language
spade-lang.org
Reposted by TheZoq2
griffinberlste.in
I'm bad at self-promo but I am currently on the job market looking for industry gigs. If your team needs a compiler engineer, language developer, rust programmer, or language tools person, drop me a line! All my details are on my personal site.
thezoq2.bsky.social
Hey, it sounds like you could be a good fit for our group aemy.cs.hm.edu. I'm on the chip design tools part so not sure what is available in the embedded side at the moment, but you should reach out to Stefan (link at the bottom) if it sounds interesting
Open Positions
{% assign postdoc = site.categories.open-positions | where_exp: "post", "post.tags contains 'postdoc'" %} {% assign phd = site.categories.open-positions | where_exp: "post", "post.tags contains 'phd'"...
aemy.cs.hm.edu
thezoq2.bsky.social
I don't think so, just uploading anything is above the bar for low effort. For me, who usually turns on music in the background I wouldn't even notice the lack of video most of the time, and just be happy to have more cool music :)
thezoq2.bsky.social
I sometimes stream Spade dev over at twitch.tv/thezoq2. Today i'm going to work on clock domain inference, which I think I finally have a good plan for again
TheZoq2 - Twitch
TheZoq2 streams live on Twitch! Check out their videos, sign up to chat, and join their community.
twitch.tv
thezoq2.bsky.social
Oh, da*d* key points. Still, not looking for tips on how to be a dad either :D
thezoq2.bsky.social
That does look very cool, what exactly are we looking at?

My best guess is these are points that can be used as anchors for 3d reconstruction?

Duck duck go certainly isn't being very helpful :D
thezoq2.bsky.social
I got inspired at orconf, so now play.spade-lang.org supports a full in-browser flow for submitting to tinytapeout.com/

Still experimental, so if you try it and run into any issues, let me know :)
thezoq2.bsky.social
Wow, congratulations @clairexen.bsky.social. Extremely well deserved!
thezoq2.bsky.social
Damn, no google reviews for any of the schools i went to :(
Reposted by TheZoq2
jamesmunns.com
This is one of the better succinct summaries of Rust's value prop, and I really like the phrasing of "Rust exposes impedence mismatches": it feels annoying to some people, but often you WANT to be able to "see" these awkward steps, because it matters.

news.ycombinator.com/item?id=4497...
Screenshot of hacker news comment:

To your above point about paths, it’s things like this that keep me coming back to Rust. This was just one example, but other languages are absolutely littered with pitfalls and gotchas that—individually—aren’t all that likely to happen.

But all of them? Over a given program’s lifetime? In aggregate these end up being responsible for an absolutely wild number of random bugs that crop up in your exception logs that need to get tracked down. And it never ends. There are an infinite number of edge cases you’ve never thought about that aren’t fully handled and that some of which are constantly being tripped.

This just… doesn’t happen in Rust. The type system catches (and/or completely rules out) a ridiculous number of these situations. I have repeatedly written finished software in Rust, where once it was released there was only an occasional need to add features but the typical bug-squashing treadmill just doesn’t exist.

That’s not to say there are never bugs. You can express faulty logic in any language. But the number of stupid impedance matches that are categorically ruled out makes the experience of operating and maintaining Rust program once written a widely different experience than I’ve had with any other language.
Reposted by TheZoq2
tinytapeout.com
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
oh no! I'm so sorry you have to go through that
thezoq2.bsky.social
Our 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.
Surfer — An Extensible Waveform Viewer
The waveform viewer is one of the most important tools in a hardware engineer’s toolbox. It is the main interface used to track down design bugs found by simulation or formal verification. In th...
doi.org
Reposted by TheZoq2
thezoq2.bsky.social
Nice! The N is indeed inferred from the coeff length
thezoq2.bsky.social
[x] I'm in this picture and I don't like it
thezoq2.bsky.social
That's incredible, congratulations!
thezoq2.bsky.social
After 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/
thezoq2.bsky.social
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
thezoq2.bsky.social
There it is 👀