Skip to content

Commit

Permalink
Publish entries 28 and 29. Burninate all twitter references.
Browse files Browse the repository at this point in the history
  • Loading branch information
kratenko committed Feb 2, 2024
1 parent dc189b3 commit efb0426
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 15 deletions.
10 changes: 4 additions & 6 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The Journey towards Lovem
This is a journal for my journey towards building
a **the low overhead virtual embedded machine**.
a **low overhead virtual embedded machine**.

What that is and why I started building it will come clear from the entries in this journal.
For some reason I feel the need to add the history of lovem's creation (so far) to it.
Expand All @@ -17,14 +17,12 @@ I hope it will be useful to someone – maybe even for my future self?
Lovem is meant to become a virtual machine for use in constrained embedded devices.
It was started by me, @kratenko, for reasons I am writing about in this journal

You can find lovem on github: <br>
You can find lovem on GitHub: <br>
https://github.com/kratenko/lovem

## Me
If for some reason you want to contact me, you can find me on
twitter [@garstenko][garstenko] or of course on github as :octicons-mark-github-16: @kratenko.

[garstenko]: https://twitter.com/garstenko
Mastodon <a href="https://chaos.social/@kratenko">\@kratenko\@chaos.social</a> or of course on GitHub as :octicons-mark-github-16: @kratenko.

## This site
So I quickly googled `mkdocs blog` to find some sensible way to document my journey online.
Expand All @@ -47,4 +45,4 @@ Pretty sure I will change every thing again at some point. But currently, I quit
[material]: https://squidfunk.github.io/mkdocs-material/
[gen-files]: https://oprypin.github.io/mkdocs-gen-files/
[literate-nav]: https://oprypin.github.io/mkdocs-literate-nav/
[journal-post]: 2022-07/state-of-the-journal.md
[journal-post]: 2022-07/state-of-the-journal.md
10 changes: 5 additions & 5 deletions journal/2022-07/10-it-looks-so-weird.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ And it is so painful. Half of the things you do, when writing C/C++, you will no
in the same way. Every piece of memory is owned. You can borrow it and return it, but it cannot be owned
in two places at once. And if any part of the program has writing access to it, no other part may have
any access. This makes some data structures complicated or impossible (there are ways around it), and you
will have to thing quite differently. But if you give in on that way of thinking, you can gain so much.
will have to think quite differently. But if you give in on that way of thinking, you can gain so much.
Even peace of the mind, as the coding world will look a lot saner inside Rust source code. This will, of
course, come with the price, that all code in other languages will start to feel dirty to you, but that
is the way.

Also, there are a lot of ways to write code, that you cannot add to a language that already exists.
C and C++ will never be freed of their heritage; they will stay what they are, with all their pros
and cons. Things are solved differently. Did I mention there is no `NULL`? And I have never missed
and cons. Things are solved differently in Rust. Did I mention there is no `NULL`? And I have never missed
it for a moment. Rust solves the problems other languages solve with `NULL` by using enums. That comes
with certainty and safety all the way. There are no exceptions either. That problem is also solved
by using enums. The way the language embraces those, they are a really powerful feature! And there are
Expand All @@ -70,10 +70,10 @@ thing (writing a VM) in a new, quite different language is a mouth full, I know.
## Didn't you say, you use C/C++?
Yes I did say that. And I do use those. It is not easy to change that, when you have a certain amount
of legacy code (and not much experience with the new language, as we do not really have, yet). But we
do have a saying these days. Often, after an hours long debugging session, when we find the bug,
understand it and fix it, there is this realisation, that fit in the sentence:
do have a saying these days. Often, after a debugging session that lasted for hours, when we find the bug,
understand it and fix it, there is this realisation, that fits in the sentence:

"Mit Rust wär das nicht passiert." &mdash; "This would not have happened with Rust."
"Mit Rust wär' das nicht passiert." &mdash; "This would not have happened with Rust."

So, this will not happen to me with this project, because those things will not happen with Rust!

Expand Down
33 changes: 33 additions & 0 deletions journal/2024-02/28-it-has-been-a-while.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
entry: 27
published: 2024-02-01
---


# It has been a while...

__Love is not dead! It just got distracted.__

Yes, I have been gone for a while. More than a year, in fact. The project &ndash; *lovem* &ndash;
is not dead, however. In fact, I even have multiple posts already written, that I just need to
publish. So let's start doing that. After this short intermission, I will publish an additional
entry in the journey, that will take us further along the path to creating our VM.

To be quite honest &ndash; I dated this entry back to yesterday. The reason is, that my journal,
as I currently run it, does not really support multiple entries on the same day. Yes, I could
simply add a time to the publication date, but that breaks continuity. And I don't plan to
normally release multiple entries on the same day, as I want to keep the pace not too high.
One post every two or three days is what I aim for, just the way I used to have it.

A few things have changed in the meantime. For reasons that I have no desire to explain, I have
removed the link to my Twitter account from the journal, and replaced it with a link to my
Mastodon account. You can find me under
<a href="https://chaos.social/@kratenko">\@kratenko\@chaos.social</a> there. I also used to
announce new entries over Twitter. I guess I will move that over to Mastodon as well.
I guess we will see how that goes.

But now let's get back to the journey. We will next implement a simple feature, that makes
allows the VM to limit the processing time of a program &ndash; which can be very useful,
especially when running user supplied code inside the machine. Building an endless loop
inside a turing complete (or not even) language is quite easy. Having an embedded device
stuck in an endless loop is often a catastrophe...
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
entry: 28
published: 2022-07-31
entry: 29
published: 2024-02-02
tag: v0.0.12-journey
---

Expand Down Expand Up @@ -41,6 +41,8 @@ is around 4611686018427 seconds or just about 146135 years. Is that a lot?

Oh, and by the way, the Rust professionals reading this will have spotted a potentially false claim there.
While we run our program in debug mode, there will be no integer wraparound, instead the program will panic.
If we build our Rust program in release mode, we will have integer wraparound, and will (theoretically)
eventually reach the end of our loop.
But that is besides the point.

## Limited execution
Expand Down
4 changes: 2 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/kratenko
- icon: fontawesome/brands/twitter
link: https://twitter.com/garstenko
- icon: fontawesome/brands/mastodon
link: https://chaos.social/@kratenko


# Extensions
Expand Down

0 comments on commit efb0426

Please sign in to comment.