Announcing Magmide Month! #28
Replies: 4 comments 5 replies
-
Hello everyone! This is my first weekly update, and I'm happy to say my progress over the past few days makes me hopeful! In my announcement on Tuesday, I sketched out a plan where I first figured out some basic semantics, then do some design writing about trackable effects, and then tackle the Iris work. I quickly realized after toying with a semantics proposition that I wouldn't actually be able to get much of interest done before I got my hands dirty and actually started using Iris. Almost anything I would have done before that would have ended up being thrown away. In the past I've never been disappointed when I choose to do the hardest and most unknown thing first, so I decided my first goal would be to instantiate Iris enough to start truly using and experimenting with it! After a few brain-melting days trying to truly understand some of the finer conceptual points and most importantly spelunking the actual Iris codebase to try to grok how the theoretical concepts were achieved in real code, I can finally say I understand it all well enough to know what the path forward looks like. I still don't have a ton of code written, but I'm finally at the point where I can actually start asking design questions about how I'll use Iris, rather than merely staring in terrified mystification at the papers or codebase. In general the hard questions in front of me all somehow relate to the ways in which the Magmide project has different goals and structures than existing academic projects:
The main consequence of those differences is that I probably have to use slightly customized Resource Algebras to model finite register banks and memory spaces, rather than the infinite and explicitly allocatable heaps academics are reasoning about. I've been figuring out exactly what I should use to avoid using some off-the-shelf concepts that might end up getting in my way. But despite having some tricky questions in front of me, I'm finally actually confident I can resolve them and get somewhere! P.S. I'll likely do an extended tutorial of Iris for non-academics after this month is over. I'm waiting until the end because it will be pretty easy for me to write a tutorial like that on my off-hours once I go back to my full-time job, but during this month I want to save my deep work energy for this extremely demanding Iris stuff. Thank you all! See you next week! |
Beta Was this translation helpful? Give feedback.
-
Hello everyone! Quick update this week, I don't have time to ramble as much as I want to ha. This previous week was frustrating, had some annoying personal logistical stuff come up that knocked out a couple days. We'll see what this week brings. |
Beta Was this translation helpful? Give feedback.
-
Hey everyone! Sorry about the long gap between updates, but I spent this previous weekend and the beginning of this week scrambling to rework a trip to Paris I had planned a few months ago (my travel companion didn't want to find out how historic the protests and strikes were going to be ha). I'm in Italy right now, and have been constantly going going going for a few days. Honestly I'm a little frustrated with the progress I've made on Magmide in the last few weeks. The first week was great, I really did push through some understanding barriers and got a lot more mentally equipped. But after that I let myself get bogged down reading papers and the Iris codebase, and haven't been following through with my resolution to stay practical and scrappy by focusing on writing and checking code. Part of it is that I burned myself out a bit that first week, but mostly I think it's just been the general insecurity of pursuing a project where I have very little official support/mentorship, and where the work draws very little on my existing professional experience. As I've said in the past, I wish I could pursue this project in the context of a PhD, but that's simply not in the cards. I'll be back from Europe this coming Wednesday, so I'll have some time the days after to do a bit of work on Magmide, and then the Monday after is when my sabbatical ends! I didn't appreciate how burned out I was entering this sabbatical, so going forward I'm going to double down on pursuing a sustainable schedule of slow productivity, consistently chipping away every day/week rather than trying to set aside huge amounts of time. As heroic as it can feel to burn the midnight oil and make flashes of progress, I'm finding this project simply too big and uncertain to make that a wise course of action. Thank you all! I'm sorry this ended up being a bit disappointing, but I guess that's one of the struggles of independent research. P.S. I'm considering starting a weekly newsletter just about my personal thoughts and ramblings. I would only do it to give myself a way to work in public and commit to consistency, so it wouldn't only be about Magmide, since sometimes I have other things it makes sense to jump to. Let me know if that seems extremely exciting to you, I'm still on the fence. |
Beta Was this translation helpful? Give feedback.
-
I am a computing student a few weeks away from embarking on my masters. For my masters, I intent on doing a proof of concept for a compilation technique for combining mutability and dependent types for a language I indend to make, Ochre.
I am way behind you knowledge wise, but I intend on following a similar path as you and I'm looking into doing a PhD so I might be the academic to publish these novel concepts. I've reached out on Discord & LinkedIn in case you would be up for talking, it might turn out parts of my project could be co-authored with you, as there seems to be overlap. Also, if this ends up being publishable I would be able to do it full time as part of a PhD. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone! I'm excited to let you know I'll be taking a month of sabbatical from my normal full-time job starting today! I've decided to use this time to make some real progress on Magmide, and I'm announcing that intention mostly to put myself on the hook. I want to use this time wisely! I'll finally have enough spare time and energy to push hard on the next important milestones of this project. I've decided to write weekly updates as well, so watch for those.
In this month I hope to:
If I find myself stuck on something this month, I've resolved to ask for help from experts and the community more readily than my instincts would usually prompt me to. I need to get over my predilection to just grind on something by myself for way too long before seeking help, so watch for that as well!
At the end of the month if things have gone well I'll likely be making a general call for collaborators, especially those already knowledgeable about Iris, Coq, or LLVM. I'm not terribly motivated by writing academic papers (everything I ever do will primarily be exposed to the world in blog posts and project documentation), but there could be a few sufficiently novel concepts in the path of this project to make it worth working with some academics to publish something somewhere. Perhaps that would help draw in other helpful experts.
Thank you all very much! I'm excited for the coming month!
Beta Was this translation helpful? Give feedback.
All reactions