Lysa»Blog
Jeremiah Goerdt
I'm writing, recording, and editing all the Patreon stuff this weekend with plans to launch the campaign soon.

Originally, my plan was to launch a Patreon campaign the same day that Lysa hits 'prerelease' so people can sign up and use it right away. Instead, I've decided to start the campaign early. There will be limited spots for getting early access and you'll have a chance to sign up for those very soon.

We're getting close to a state where Lysa can actually provide people some value. I'm almost done getting most of the basics. Testing, cleaning up memory leaks, and a quick pass over the API will need to be done as well, but I can see the light at the end of the tunnel!

Sorry, no exact dates yet, but keep your eyes open. Patreon will be here soon and then it's just hard work to get to the first chance to share Lysa.
Jeremiah Goerdt
I'm sitting on my lazy ass, drinking coffee, and hanging out with my son. So, I figured now was a good time for a quick Lysa update.

If you follow the stream, you will know that I've been hacking away at things like user-defined types, arrays, pointers, and the like. Everytime I think I've got things figured out, the complexity of making a debugger slaps me in the face and wakes me up.

There is a long ride ahead of us, but we're creeping closer to a prerelease version every day. I'm also particularly interested in making Lysa close friends with 4coder. Of course, the motivation is mostly selfish, but maybe some of you will enjoy the pairing as well.

Keeping Track of Progress

You're welcome to check in on the Lysa Trello board to make sure I'm not slacking. I tried to use labels that hint at how long I expect features to take. If you're a special kind of insane, you might add up the amount of time you expect it all to take before the prerelease ;-)

Thanks for watching, and do come to the stream. It's a blast having fellow crazies to talk to while I throw my life at the keyboard.

Oh, and keep an eye on my YouTube playlist if you prefer the 5 minute recap version of a devlog. Some people have told me it's nice to keep up-to-date.
Jeremiah Goerdt
Hello again Handmade humans,

I recently laid out a strict schedule for streaming Lysa development, so if you wanted to know if you can make a future stream, now you can find out.

Stream Schedule

Weekdays: 12:30 - 14:30 Central Time

As for other types of streaming, those times are a surprise because I never know when I'll have some quiet time around the house to hop on Twitch (which reminds me, you can also watch me on YouTube live).

Regarding YouTube Videos

If you're working hard instead of hardly working, you can also catch the Lysa Recap videos that I put on YouTube along with the Lysa Archives. The former are 3-5 minute recaps of what I did on stream and the latter are just exported stream videos.

My YouTube channel is primarily focused on Lysa development videos, but I do have some non-Lysa video series ideas.

Quick Development Update

For the first pass of getting variable data out of subordinate process memory, Lysa has been recalculating everything it needs on every step or continue during debugging. Since I've moved on to constructing user-defined data, it makes a lot of sense to move that code to the initialization phase of debugging.

Over the next week or so, I'll be working on the gathering of variable information during lysa_init() and immediately getting back to building the user-defined variables (eg structs, unions, classes, etc.).

We've been making pretty good progress on stream (if I do say so myself) and I really enjoy the chatter while I work.

That's all for now. You stay classy.
Jeremiah Goerdt
Slow and steady wins the race, as they say. Lysa progress has been chugging along at a steady pace as I try to keep up with a rigorous schedule of streaming every day (insert Rocky training montage here).

I've been implementing DWARF instructions over the last week(ish) and it's going pretty smoothly. However, like the genius that I am, I've decided to just implement most of them without testing them thoroughly. There are a couple reasons for this, but I expect Lysa to explode when I finally plug in the DWARF VM. It'll be great.

The exciting part about this VM nonsense is what it will do for Lysa. On Linux, executable files are encoded with ELF information that tells the OS how to run the file. When you add debug symbols, you get DWARF information which includes "location lists." These are what tell the debugger where to find important things in memory. Once we can evaluate DWARF expressions, we can evaluate location lists (lists of DWARF expressions) that tell us where to find the values of variables and other things in memory.

We're getting closer and closer to a sort of watchlist function where we can keep an eye on memory and do some neat little tricks.

So, keep showing up for streams, keep your eyes on the project, and keep being excited because Lysa is coming!

P.S. It has been insanely cool hanging out with people on stream while I work. There are even a few regulars who show up to almost every stream. All of you folks are fantastic! See you on Twitch, o7
Jeremiah Goerdt
That's right folks, after starting Lysa, formerly known as Gungnir, almost exactly one year ago (initial commit was on 27 Feb, 2016), we finally decided it was time to announce the project.

Don't be fooled, there hasn't been a year of full-time work on the debugger, but it has been growing off and on for the last 12 months. It all started with trying to understand wtf the ELF data could tell us. Then we moved onto dabbling with DWARF information within the ELF data (neckbeards are really good at naming things). Next was fiddling with Linux system calls like ptrace. And all along the way we wrestled with designing the API.

Lysa is by no means finished. There are many months ahead before we can say that, but we aren't too far from a prerelease build that you can actually use. Currently, our North Star includes a few more features and tweaks before Lysa can be held within your hands and fiddled with. ;-)

Anyway, enough rambling. This post is just to let the community know that Lysa is coming and that you should all be pretty damn excited. Keep your eye out for more updates soon™.