MVP Journey - AndrΓ© Baltazar

Building an MVP every week

πŸ“ Daily Log – Language Definition

While I was traveling I didn't do anything on my projects, but I created a sample file for my language ABLA. The current version on the website is a little different from my sample, because I basically stopped developing the language in the old repository.

The feature set is identical, but there are changes of syntax. There's also better support for parsing other languages inside ABLA. I will share it here eventually, but today I defined the basic structure that I will use to define languages in the current compiler, which Kotlin DSL. And I will need to implement the lexer and parser to be able to parse and switch between languages as I wish.

I look forward to be able to program in this language, but it is far from working, even a basic version.

While I had the old version which compiled a lot of things, and kinda run. I now consider that I need to start it over. That was really the first approach to the language that worked with compile time execution, and I learned quite a few things doing it. I will try to bring those teaching into this one, and improve it.

πŸ“ Daily Log – A little progress

Was able to work for a little on ABLA. I make a new tokenizer and started a simple parser, but I don't feel like it is a good one. I'm still very thorn on how to implement the language. It feels very sluggish to implement more advanced features.

Will continue to attempt to implement ABLA, but also want to work on another thing in parallel. I don't really have the time, but I will split it anyway.

πŸ“ Daily Log – ABLA

Been working on ABLA today. During my time off I actually had very nice ideas for features that I want in a language, and it is finally time for me to put those ideas into action. I'm going to start developing ABLA slowly again. After my normal job, so it is only a few hours a day, if that, and also going to work on other projects in parallel.

I've decided yesterday to start planning my weeks again. Planning my time off and my time working. Every second of the day as an event in a calendar. It is kinda overwhelming to see it like this, but I can take control of what to do.

πŸ“ Daily Log – Back

Back home. Thinking a lot about building. Don't feel inspired.

πŸ“ Daily Log – SubNot Suspended

It has been quite a few days since I've posted something. I've come to the realization that SubNot is not moving forward right now, so I've put it as a suspended status on the website. I envisioned this journey going in a very different direction, but this is what has been so far. The path travaled has been a really short one in the great scheme of things. It has been 3 months since the start, just a very small part of the path to be traveled.

Since the beginning of traveling, it has been difficult to keep this posts up to date. Sometimes I viewed them as a chore, but I want them to be viewed as a log. A diary of what has been done, the toughts that I had, and the things that I look forward to.

I've decided that the next step for this is building something with even more radical transparency. Going all in on development blogs, that accompany the product. Documenting almost every part of the project with stuggles, and the thoughts that I have when building features. I want it to be built into the product, and the updates to show there.

I think one great step for this would be to setup some really cool Git hooks that allow to take values from the commit messages and automatically write blog posts, tweets, and other pieces of documentation about it.

Heck, I even see that it could become a project in itself in the future. I think it's somethning really cool.

πŸ“ Daily Log – No Entry

Nothing to log. Another day without any development. :(

πŸ“ Daily Log – Long Day

It has been quite a long day today. I worked a lot for my job. I really want to get back to this journey, but other things get in the way. Need to be more strict with everything.

Want to try to make something new. Want to build it very in public. Like a public backlog as I'm working on it. Radical transparency.

πŸ“ Daily Log – Life Changes

When I travel, specially like this there is always a lot of things going on each day, which make it very complicated to keep a strict schedule like this. I didn't have time until now to properly sit down and do many things that I would enjoy doing.

The last post that I wrote on the airplane, was only posted today as well, because I've been unable to actually deploy the posts. It's been quite life changing. This is a very different environment than what I'm used to.

I've installed my tools in the Steam Deck now, and can do pretty much everything I was able to do before. They only thing that is not setup is git commit signing but that's not really a priority.

What matters is that I can develop again.

Today has been a crazy day. I've been up since 4:40, and will continue to be like this on the work days, so I can keep working the same hours as back home. It is going to be quite interesting couple of weeks keeping this schedule. Let's see what happens to my enegy levels.

πŸ“ Daily Log – Travel Reflections

Today has been an amazing and crazy day. I started work early to be able to fly in the afternoon. But yesterday, since I arrived late home I didn't manage to setup the Telegram Tunnel. I tried to do it on the airport as the plane was leaving, but failed because I couldn't install telegram-cli on my Steam Deck, since snap wasn't readily available, and after I installed snap it was giving me some target error. Still I'm writting this from the airplane, and will publish as soon as I get down. Or maybe tomorrow. I can't recall if I missed yesterdays log post of not. This entry might be delayed and backdated to 24 June.

This is actually an amazing setup. Here is a photo as I write this in VS Code.

Steam Deck Airplane Setup
My setup on the airplane writing this post.

I'm going to rock it for a few weeks and see what somes of it. I need to install quite a few things still, and make this setup feel like my computer at home. It's a bit different. Specially this distributino is different from what I use at home. I don't usually use flatpaks, and this doesn't have apt for some reason, so I might need to install that if possible.

Having the time to write long form is amazing. My latest posts have all been very rushed, and without anything really cool behind them. I want to do it, but it has become inscreasingly difficult to do that.

The other week, I was watching a Twitch streamer that mentioned something interesting about people that have many interests. I think I'm one of those people, but sometimes it becomes increasingly difficult to keep up with stuff that I want to work on, because theres so many different things at the same time that it turns into the proverb of the donkey that dies in the middle because he can't choose between the hay or the water.

That proverb hits home, when I think about all the attempts that I made at different things but never landed anything great yet. There's quite a few different problems with it. It starts with my inability to distribute stuff. I think when I was younger and I participated in different forums it was much easier. I published quite a few silly things. From simple problems to lock your files with encryption (like a safe), to attempts at building a personal assistant controlled by voice. This was back when Microsoft had a speech recognition SDK that was available to use with NET framework '1.something' (iirc).

It has been an amazing journey so far in terms of things that I've learned, I want the next chapters to be just as amazing, and I want to write them possibly with the ability to work for my own (producing products that I sell to other people), which has been the dream since the beginning. I have big dreams in life, and this is the start of those. Let's see where this life takes us.

(this post was only actually put up on 27 june)

πŸ“ Daily Log – Telegram Tunnel

If you have travelled on some airline that offers free messaging on board. You probably were wishing for more access (or maybe not if you want to be disconnected). But, anyways, I got to thinking a few weeks ago, why not build a way into Telegram which would be able to use Telegram as a tunnel for other internet traffic.

When I landed I discovered that it actually exists. There is a project on GitHub that does IP over Telegram. I was thinking more in line of WireGuard over Telegram for my phone, but this project was great to see something like this working.

The only issue about it was that it uses telegram-cli to connect on both ends. Since I don't have accounts for both ends, I thought I could use a bot for the server end. So I implemented that that yesterday/today, but haven't fully tested end-to-end. The messages seem to work correctly. I just need to fully test it. Something for later today/tomorrow. Will keep you posted.

Visit Archive for full history.