echo nex/in/m15o/journal.xtw | nc 1900 | less


Been optimising how text buffers are handled in Grid. All character used to be stored on a gridscript string, which doesn't differentiat between ints/chars. As a result, characters in the text buffer woul occupy 4 bytes each. It made things simpler at the time, but I had bee bothered by that for a while, and so now it's all fixed. It's muc faster to open text documents, even bigger ones. This journal, as a example, can be manipulated quickly, which is great! I have also bee working on transposing windows from one column to the other. It' still clunky but it works. My current with Grid for no isn't to publish a perfect software, but to publish a software tha works and can be compiled! Good news is that we're getting really clos to that. Speaking of which, the one last addition I'd like to give t Grid before it's essentially feature-complete is connecting a pane t stdout. This will help using it as a REPL, and simplify writing words The one way to help me get there is to have a way to select a window b name. That word would essentially loop over all windows, look fo title, and check if it matches with the given name. If that's the case it selects it. Simple enough. Perhaps I should just start working on i now!


I've always liked to wake up early. In the morning, I can work on m projects, take my own time, be with myself. A few months ago, I wa traveling with my friends. It had been a wonderful time. In th mornings, while my friends were still resting, I took time to finis working on Bitters (the text editor). I remember being frustrated b then that I couldn't "hack" bitters from within bitters. If I wanted t add functionality, I would have to add it in C directly. That's wha triggered what I have been doing since then! Yesterday, I published first version of the Gridscript's spec ( Gridscript is a forth-lik language. One main difference with classical forth is that there's n return stack, and instead relies on local variables (called registers to facilitate low-level stack manipulation. There's also limite meta-programming capabilities and control-flows. It's main mission i to define the lexicon that'll be used in Grid. I will talk more abou Grid in the following days. It's that "hackable" text editor. Sta tuned!


I'm pretty excited - I'm writing this entry from the new ACME-like tex editor I've been working on over the last few... months? Well technically, I've been working on a little Forth-inspired language, an a few weeks ago decided to build a text editor as the first rea project using that language. It's coming along nicely, and I've bee learning a lot doing it. One thing I'm excited about is that it' possible to execute code within the editor to extend it. For example, can publish this journal directly to my site by right-clicking th 'publish' word. Which I'm going to do now!


A bit more than a month since I wrote something, it seems! Not tha bad, all things considered. I will update this part very shortly. A lo is happening in my life these days, and it's for the better. I've als been hacking on a lot on my language project and I like how it's takin shape.


I've been heads-down working on my little forth language. It's startin to take shape. I am happy with some of the constructs I've added. I'v also been reading (re-reading, actually) "Thinking Forth". There's ton of great ideas. It's very interesting to learn how to structur programs with Forth. For example, if we define a word that's th composition of two words, for example "selected-input", there's chance that it's an opportunity for refactoring. Instead, we could jus have "select input". Having many small words is powerful, even more s when you can redefine them in the context of your own component.

Other than that, it's already December! And it's raining a lot outside And it's cold. But that's fine. I enjoyed the warm weather plenty thi summer. I am currently drinking instant coffee and I've added way to much coffee for the amount of water I'm using. Perhaps it's just what need on this Monday morning.


I took a walk this week, just like I normally do around lunch time It's a great way to help me think about the afternoon and all th meetings I'll be having. This time, I wanted to test something. I too my phone, clicked "chatGPT" and clicked on the voice button. I hate t say it, but I was completely speechless. I really hate to say it... had such a great conversation. To the point where I was smiling as was walking out. I must have looked strange. Yet the AI I spoke t asked interesting questions and kept the discussion entertaining. W live in an interesting time.


So, me again writing my journal! What's wrong with the weather? I thin it's been raining non stop for the last two or three weeks. There' been a few storms happening. The seconde you see a ray of sunshine it's quickly followed by huge rain. When it's not raining though, th temperature is nice. I enjoy this season. Just wish that it was little less extreme...


It's been such a long time since I've written here! I realize last tim I did I was on vacation. Since then, I got back to work, and work i was! It's been incredibly busy for the last month. But hey, that's no the point. Around the last few days of my vacation I started hackin again on a little forth-based language. I will likely share more as keep on making progress. It's inspired by basic, uxn, and continuation (or maybe more generalisation?) of tny, the littl language I did a few months ago.


Currently sitting on a patio outside in our hotel. The view is reall nice. There's a lake. I can hear the ducks and birds. The cars too, bu more distant. It's currently day 7 of our trip. Today, we'll visi another National Park. We'll need to drive quite a while to get there But first, time for breakfast!


Another day with some incredible nature. Really enjoying this trip s far. Most of the days I don't know what I'll be doing the next day, an it's a good surprise to discover it as the day happens. I tend to b very tired at the end of the day, which is the case right now. I' trying to do a few little things on bitters but to be honet I feel lik eyese are closing already. I might want to wait the morning. Which i what I'll do!


Wow. Seen some incredible nature today. I've also taken many pictures There were some beautiful waterfall. The water's color was between blu and green. Had never seen anything like that actually. I remembe thinking: could I even drink this water? I'm not that convinced. Ther were fish in the water. Small ones. They didn't move much. At som point we took the boat.


So I am currently traveling. Which means I had to take the plane, eve though it's not my favorite thing in the world but hey! Here I am. Wit friends. Looking forward to think of something than working, but m actual work has very little to do with development, so I am als looking forward to code a bit! I actually made some nice progress o bitters in the plane. One of them is the ability to resize the editor' window. I also made it so that it's easier to delete a word (CTRL-W and to delete a line (CTRL-U). There's still a bit more refactoring I' like to do, but I'm fairly happy with how it works right now.


Playing with ACME over the last couple of weeks really inspired me t pick back up bitters, a text editor I wrote almost a year ago that i heavily inspired by the canon cat. I love how ACME describes itself a an "Integrating" development environment, and how provides a way t connect all unix tools and make them interact together, all of it wit a full text UI. So I did make a few changes to bitters that I will tal about, probably in the coming days, weeks, or perhapr today even i Ifeel like it! One of the biggest change is to allow writing command directly from it. We can select part of the buffer we are editing an pipe it through a command. The result will replace the selected text. am actually writing this entry with bitters directly!


All of this journal has been ported to xtw, a text format derived fro Gemtext. It means Nightfall Express Text Wrapped and it allows text t be displayed in a "flowing" way to browser who support it, as oppose as being shown with hard-wraps (newlines) that may at times make i hard to read on smaller screen devices. I've been learning AWK as well as a way to write a few accompanying scripts. I've enjoyed a lo writing AWK script. I feel like it's a language I'll be using often t deal with transforming text.


Started learning acme. Having way too much fun right now doing it. I'v started a page that documents what I'm learning. I love how it build on ideas explored in Sam, which in turns builds from ed. I wil probably be writing a lot about acme on here in the coming days. I wil start with one cool thing. On acme, right clicking a file path open the file below the cursor. This works incredibly well with nex: yo right click a path and it just opens the file. Makes editing a ne station very enjoyable.


I've been using ed for a few months now as my go-to editor to writ text. What I enjoy the most about it is how it integrates with unix Since there really aren't that many features on ed, unix acts as th layer that provides all the editing capabilities. Need to fold th text? No problem, call a script. Need to format a title? Same, jus call the right script. Want to underline something? You get the idea You can see the scripts I use to manage this site if you go to .bin/ That being said, using ed isn't always a smooth experience. It's clos to impossible to do ascii art. There's limited undo facilities. Stil amazes me that most of the early unixes were written solely with it!


Is it really already end of August? Time flies. It's impressive. Idon' know. In a way I feel like we're still in March, but the more Ithin about it the more I realize that no, many things have happened.It' also really hot right now an I have no clue why I decided to stoptha fan. I'm definitely turning it back on.


Sometimes I just feel like typing without having much to say. I justfeels good to type away. I can't get my brain to function muc thismorning. I'm glad I'm not hungover from last night. It's not bee aweek yet since I'm back from my little vacation but I already wan togo back. Temperature are increasing a lot.


I've been enjoying working on nightfall city lately. I realized manyo the links in the pages weren't working anymore, so I had to removequit a lot of them. I've also started nps - the nigthfall postalservice - a a way to post document to a server. It's a companion tonex. Designed t be as simple as possible while hopefully still beinguseful. A firs application of it is a classifieds page I'm puttingtogether. Curious t see what it'd look like.


Back to work after a week of. Feels great to take a vacation an Ishould do that much more often. I also haven't exercised th wholeweek, but did walk a lot. Does it compensate? Hope so!


Saw exposition of Nany Holt. Very inspired by her work. Went to nicebookstore, got hopscotch, a book that seems really fun to read haddouble espresso. Went to bar after for more dry martini (startin tolike this one a lot). Also there's taco bell in barcelona!?


dry martini = good. the one I had had like 99% gin and the res wasbitters + vermouth. also espresso martini = great.


currently on a trip in barcelona.

had sangria & beer & tapas last night. the meat is incredible. wait think i can see the sagrada familia from out the window, at least th top. that's kind of nice.


So nex stands for nightfall express. Yet, Nightfall City isn't on ne at this point. Which probably means it should be the next thing I do Nightfall City uses html to power its registration form, but thi shouldn't be an issue with nex. The browser would just need to suppor it. From the web, with kinex, I suspect that things would just work ou of the box.

I will need to think of a way to represent an entry. I could probabl use the exact same format as today, as gemini and nex link use similar format.

On a completely unrelated note, I'm not sure how best to display titl on my nexlog. Can I just use a different way for every post?!


I just added `open`, a new command to manage my nexlog. It's useful t open an existing post without typing its full name. And while mos terminals already have name completion, the first 8 digits are for th date when it comes to post names for nexlog, and it's not always simpl to remember the exact date when looking for a post we just know th title of.

This is how the script looks like:

$EDITOR $(lgread $1)

It uses another command that I've called `lgread`, which just combine ls, grep and head:

ls | grep $1 | head -n 1

if I want to open a post for editor and its name i 20230618-hello-world.txt, I can type:

open hello

and enjoy editing in my favorite editor!


Plain text files are great. They contain a succession of bytes tha each represent a character. Some of these character are special. The are called control characters. They are called like that because the aren't really printable, and they instruct the computer to do somethin for us. For example, the character 0x07 will make your terminal produc a bell sound. Nice, right? Another one of these characters has the cod of 0x0A. It's called line feed and it moves the "print head" of you terminal down to the next line, at least on unix-based operatin systems. So, where am I going with this lenthy introduction you think I am not sure! But here is the thing. If you open a text file with program like less, it will break lines based on the number of colum your terminal has. Sometimes, this will break words right in th middle... Not great. But should it do that? Absolutely. Since you hav a text file, less and other programs don't want to assume what is i there. It doesn't know there are words. It could be ascii art, serie of numbers, or anything else. Why should less assume that the fil contains words?

Right. So what if we are actually writing words and we want to allo readers to see our text in a nicely-formatted way? You know, so tha when they open it with less the text doesn't break in random place within a word?One way would be to ask them kindly to first pipe th file to another program such as 'fmt', but honestly, they probabl won't bother. And what would 'fmt' do anyway?

It would simply wrap your text so that no lines are longer than, say 8 characters -the typical size of a terminal- and ensure that words ar preserved and not broken in strange places. That's really it! Well, I' sure fmt does at least a little more than that but it's mostly it. An we don't need fmt to do it, right? We can do it ourselves! We just nee to add a newline at the of the lines when they are too long and that' it. This technique is actually called hard-wrapping, because we ar hard-coding a control character (remember, 0x0A, otherwise seen as \n).

Alright, great. We now have text that we can read with less. It look great, the lines aren't too long, our eye doesn't need to stretch al the way to the right border of the terminal. But we're taking one hug assumption! That the reader's terminal will be 80 characters or more And while that often isn't a problem on desktop computers, in 2023 a least many people use their phone to read. Phone screens are tiny. The won't properly display 80 character-wide text without zooming an scrolling. That's why many modern format for writing such as HTM completely ignores hard-wraps when writing paragraphs. The text jus flows all the way until it reaches a border and then it soft-wraps. Bu hey, remember, we're writing plain text. So not adding hard-wrap wil make the file hard to read when not on a browser.

This is where the headache comes in. What if we want to write plai text files that look good on a terminal with less but also on a browse if it's served from the web? This is exactly what I wanted to do fo this site. While the content is built to be displayed on nex, I want i to be readable from the web without having to resort to the reader mod of the browser or to zooming and scrolling. Luckily, there's a grea little program that exist on virtually every unix-based os. It's calle `fold`. According to the man page, it was part of the first version o BSD. It's one of these programs that are incredibly useful when writin text, and that I now use all the time. It will take one file as a input and hard-wrap the text based on the number of character you pas it.

Fold will break the like after the last blank character. This i incredibly useful. It means that if we want to allow a text to flow, w simply replace any ' \n' with a space. And that's it. So back to ou question: if we want to write text files that look great on terminal but also on the web, we just use fold and pre-process the web versio to replace every ' \n' with a space. And that's exactly what this sit is doing!


I've started to love using ed a lot. Knowing that such a small progra is packed with so much is mindblowing to me. It's as minimal as it ca and it allows to use the rest of the unix ecosystem which is a bi pleasure.

At the same time, I do have frustrations using it. I'm used to emac and moving around when editing is a lot easier there. Let's imagine want to re-write the current word I'm typing because I made a spellin mistake? Well I can just ALT+Backspace and re-type. That doesn't appea to be an option on ed. That being said, I just noticed that I ca delete a whole line with CTRL+u, which is useful!

I started learning more about escape sequences. I'm thinking abou writing a little editor. I don't know if it makes sense for me to do i since ed is basically what I want to recreate. I have bitters that enjoy to use a lot as well, but most of my writing these days ar through ssh so something that works on a terminal emulator is what I' like.

In other news, I wrote a little php script to generate two rss feeds: nex one and a web one. I will though probably re-write it to hav something that doesn't require php. Perhaps that's something I coul use ed for again! Or its cousin, sed.


I had this weird dream last night where I was talking to my friends an I wanted to take notes of what they were saying. It somehow seemed lik a very complicated thing to do. I didn't want to take written notes Actually the thought of taking written notes on paper didn't even occu to me in that dream. I just had to write the notes on my computer. The I thought: hey! I can actually use ed! It will actually make things lot easier. I can just type and if I ever make a mistake I can correc it with s//. And if I forget what I wrote before, it's alright. I ca just scroll up on the terminal and see what was written. So I wen ahead in my dream and started to take note on whatever my friend wa saying.

This morning I found tutorials [1] [2] written by Brian Kernighan These are great introduction to ed if that's something you want t explore as well. I love to see how commands like sed and grep directl came out of it.

I also realise there are many other resources in [3]. I will probabl dive into these a little later this week!



Just a reminder for myself to start making some cold brew. In fact instead of writing this, I should probably just go ahead and make some It's not that long to make, but it needs to be made so that I can hav it tomorrow morning. It's the ideal drink for me at this time of th year. Let's be honest, it's way too hot outside! Also, I did have som great cold brew outside yesterday [1]. I took it at the perfect time a well: end of the afternoon, around 17:30 (ok maybe a little late for coffee). I usually prefer when there's no ice in my drinks, but tha time the ice was greatly appreciated.

[1] nex://


It's only wednesday but this week has been incredibly busy at work. An so was the previous one, or so I thought. When crazy becomes the ne normal nothing makes sense anymore. But there we are! I haven't bee able to get much sleep from last night, and today shapes up to be ver busy as well. I'm also struggling to spend time with my friends. A soon as I can have time away from work, I need some time for myself t recharge my batteries. It's frustrating. But hey! My eye is starting t feel better. The temperature outside is a little less hot than las week. Postive things, right?


For the longest time I would ssh to a server, do things, wait a little come back to my ssh session and realize that the session wa disconnected because it had been idled for too long. Somehow I was fin with that. But yesterday I wanted to see if there's anything I could d to prevent it from idling. Turns out, it's possible! And it's als easier than I thought. The main idea is to have our ssh client sen "pings" to the server to let it know we're still there. To the server you literally are still there. So use this power responsibly - ss session take up resources on a machine.

When you start an ssh session, just pass the ServerAliveInterval option:

ssh -o "ServerAliveInterval 60" me@mysite

This will send the pings every 60 seconds. You can also add this t your ~/.ssh/config file.

It's a small thing, but small things are important. I had this though yesterday as I was going through the day. I've started to take th habit of not giving enough attention to the small things. And it' wrong, because the small things add up and become a much larger thing Accumulating small tasks creates mental load. Acting on small thing will reduce it, one little thing at a time. When we remove all th little frictions, there's more mental place to think about somethin more thoroughly. We take away the noise, we prepare and condition ou next action.

Every big thing is a series of little things done one after another And sometimes, instead of looking for a destination it's best to loo for the next checkpoint. Where we end-up arriving doesn't always nee to be defined. What matters is to learn from the little things as the add up, and to correct the course as it goes.

I'm feeling philosophical today, what's in the coffee?


This post is in praise of little scripts. They fill me up with joy, no going to lie. The smaller, the better. If they can compose, that's th best. For example, I often forget the date. It's fine. we can use th date utility for that:

date "+%Y%m%d"

Great. How about we use it in a script to generate a title?

date "+%Y%m%d-$1.txt"

Maybe we could now create a `post` script that takes a title and start the editor for us?

$EDITOR $(title $1)

Sweet, right?

alexlehm pointed out that we could retrieve nex pages by using nc:

echo /alexlehm/ | nc 1900 | less

Which works really well! How about we package it in a script? I'll cal it rex:

echo $2 | nc $1 1900 | less

rex /


I'm new to OpenBSD, and it's such a great feeling actually! I an im aw when I see how to do simple stuff. Such as doas. Why should I becom root if all I want to do is restart a service? Right! Good news is, don't. I can just use doas. So if you don't use doas, use it! Don't s as root. You can do better than that! Oh and definitely don't su roo with that beer next to your desk. Wait, is it a whisky bottle I se next to it?


Here's a short entry to say that I appreciate a lot coming back t doing more Go recently. I like the simplicity and minimalist design and I appreciate how it works cross platform.


I wanted to sleep early last night but ended up not. I distinctl remember the moment I was about to go to bed, being almost proud of i being early. And then I forgot what exactly happened, but my min started to drift into something, which made me think of something else which made me open my work computer and start to answer a few message and do a few things, which then made me think of meetings I'll need t have in the coming days and all of a sudden it's late.

Here's another random thing I'm thinking about. Files have dates right? Then couldn't I technically remove the date part of the name o my nexlog entry, while retaining the information? I guess I could However, I would lose the ability to give generic name to some entries such as "untitled" or "random-thoughts". If I don't add dat information there can only be one. What a shame that'd be! ALSO Systems and program can change the dates, re-create files, etc.


I am feeling exhausted right now! My day has been way too long.


I have no inspiration for a title today. It's been very hot for a fe days. There's not much air when I open the window but the little breez is appreciated. Summer is great! Except for that part. My right ey hurts a little and got a bit swollen. I'm not sure what's the reaso but hope it's going to go away soon.


It started raining a lot last night, with a ton of wind as well. It wa impressive to watch all of that through the window. Wind was so stron that it broke things. I could hear glass break, and saw some garbag spilled on the ground from out the window. And then all of a sudden i just stopped. I think the whole episode lasted less than 30 minutes Then clear sky, and some freshness.


It's a sunday afternoon. Well, it's getting closer to the evening. see it says 1749 on the clock. I'm currently drinking an espress because my eyes are already closing. Interestingly enough, I'm hearin birds chirping from outside. There are quite many of them, almost lik they are singing. The weather has been bad yesterday and today. Ver hot and humid. It's rained a lot. Now it's stopped. The good thing i brought is some fresh air. Not fresh enough, but can't complain! Also this is my first post on my nexlog, so cheers to that!


We're almost in May! In a few weeks I'll be travelling to Chicago fo work. Not looking forward to the airports and planes, but I remembe the pizza being incredible there. That's all the motivation I need.

A few months ago, I started to learn PHP. I am very happy with th language so far. I enjoy a lot how easy it is to deploy and update page. If I want to update the text on a page, I can just edit the file save it, and that's it. If I want to push the latest version of a site I just copy the files to the server. Since I start to have many littl projects, this simplicity helps a great deal. I also really enjoy ho many things are available directly in the language, removing the nee for me to use external dependencies (besides one I use for sendin emails). Most of the use-cases my project use are covered with ver stable APIs that aren't going anywhere. What's interesting is that PH relies on an existing webserver much more than other language wh implement the webserver directly. There's still a ton for me to learn!

I've also released It's a place to share JPEG pictures The pictures are heavily compressed to save on disk space mostly. An although saving space was one of the top motivation, a part of it i also to keep images blury. Blury images makes us focus on the whol picture rather than the detail. The colors are off and they make i hard to recognize something. They are the type of images we see in ou dreams. Since there are many places on the web to share beautifu pictures, this place can be where we share the poor ones!


Wow it's been a while since I've written anything. I don't know if it' similar for you, but I feel like when I don't do something for a whil and I want to do it again, I sometimes put it off because I know that would first have to remember how to do it. I think we can call tha cold start! The cool thing with static HTML is that the cold start i basically non-existant. If I want to write something here, I just edi the HTML of the page and off we go! The more simple we keep things, th less overhead we'll have when getting back to them. Speaking o overhead, I've been bad at responding to messages/key request recently, so apologies for that. I'm actually working on little ways t automate some parts of this process just so that it doesn't take s long.

In recent news, I've created MeBo, a very simple message board. It' done in PHP + mysql and is there to be simple to deploy. I wanted t build the most minimal version of a forum I could think of, so that th overhead of installing it is reduced as much as possible. I used MeB for Speakeasy, an addition to the Midnight. I've also been enjoyin writing Tny, a little virtual console inspired by uxn.


Happy valentines! So many things changed in my life in just a year. Bu some little things remain. I'm still enjoying drinking coffee whil writing things down in the morning. I still have a blast learning an discovering all the incredible things people create. I still enjo writing form software, somehow! These are the little things that giv color to the whole picture. I miss colors. Being in winter doesn't hel with grey sky. It does help with bugs though: there are none aroun town at this time of the year!

If I were a generative language model writing this entry, I woul probably talk about work and stress. So guess what, I won't! Doesn' mean I'm not stressed at work these days though. I should probably tak some time off. Might book that today actually! But talking abou generative language model, I've found myself going to chat GPT a lo less lately. What I miss the most from it is the ability to check i what it's telling me is based on a source I trust.

I've switched my desktop from fvwm to cwm. If you don't know cwm, it' a desktop that ships with OpenBSD and it stands for "calm windo manager". It's a really simple desktop manager where we can move aroun windows. It doesn't do tiling, just allows you to have windows and mov them around. I like how straightforward the configuration is, and it man page is one of the best I've seen. So, thank you fvwm, it's bee fun hanging out with you in the past few month.

In the last entry I hinted that I was learning PHP. I am currentl re-building the software behind the Midnight. My goal is to make it a simple as I can, so that anyone can deploy it and run their ow discussion board. The only requirements to run it are: php and mysql My skills in php aren't great and it probably won't be the bes designed software out there, but the use-case is straightforwar enough. What I enjoy a lot is how it's possible to customize al aspects of it rather simply. It's only text files, so if you want t change the style, open style.css, if you want to change the header open header.php, if you want to change the way messages are displaye on a thread, open thread_read.php, and so on.


It's been more than a month since I wrote here. It's crazy how fas time can go. One day we get into 2023 and the next, we're more than month later. Work has been keeping me really busy, as it often does While my overall stress level is still rather high overall, it' starting to go down. I think it's mostly due to how I see things now not everything can be perfect. Heck, not everything will be good. I'l get some things wrong, do mistakes. Not everyone will like it. Peopl will be mad. I think I've started to accept these. The other learnin that I got from the last month or so is that things change fast i tech. And by that, I mean that every week brings with it its own set o changes.

Ok, besides that, I've seen there is a 24/7 twitch channel that runs A generated Seinfeld episodes and I'm amazed at how I like to watch it What's wrong with me? Why do I find this funny? The fact that the whol thing is so bad makes it great. It's exactly at the right level o terribleness for it actually be a work of art. I've never watche Seinfeld before, but it makes me want to watch the real show to see i the story lines are similar.

Speaking of AI. Is ChatGPT going to be a fad? I mean, I enjoyed usin it to ask it tech questions, until I realized that it made me lose mor time than anything else. There's no way to trust any answer it gives and learning things wrong it harmful in my opinion. So I found mysel not using it so much anymore, if at all.

I've been learning php. Crazy that I never looked at this languag before. I love that it used to be called "Personal Home Page". Kind o which it stuck with that name. My favorite thing about this language s far is how easy it is to set up php hosting and how the languag includes everything needed for a project to run: in my case, no nee for external dependency. It might be early for me to say that, but i feels as if php scripts would have a good chance to stand the test o time. I might say so because I chose not to use any package manager o framework. Just stock php.


Feels strange to type 2023! But hey, that's the reality now, so happ 2023. On the brighter side, I'm feeling much better than last week. No fully recovered but much better. I feel like I'll be dragging this on a couple more weeks, but it's okay. Last week's been really strange. didn't have much work but the work-related anxiety was to the roof This week I have much more things to do, with people coming back, etc but so far the anxiety level is ok. Let's keep it that way?# 2022-12-29

Still sick. I can't say if it's much better than last time I wrote. don't have anymore fever or anything, just bad cough and am generall tired. I think I got burnt out a little as well. Work has bee overwhelming in the last few weeks and it's (I think) taking a littl toll mentally on me these days. I'm not on vacation, but it's a quie moment and I'm leveraging this to take things much easier. There alway so much to do, doing them a little later is fine! I've been generall happy with my new phone. The battery is what I like the most, compare to the one from my 5S. The year is wrapping up and the remaining day feel like a strange liminal time. I'm still unsure of what I'll b doing for New Year's eve. Part of me just wants to stay home and enjo it peacefully. Friends are telling me to go with them to parties and m motivation for that is not super high. Given how I feel I don't know i my body would be up for something that involves seing too many peopl and staying up very late. Really sucks to be sick at that time of th year.# 2022-12-26

*Cough* good morning! I had a mostly good night and wasn't disturbed s much by the bronchitis. This week is the last week of 2022. What a yea is has been. And it can still be! I'll probably leave time fo introspection sprinkled throughout this week. I started the year at very different place than the one I'm finishing it in. I don't make ne year resolutions, but I like to think of the one or two things I'd lik to start/stop/continue. I haven't fully thought about it it yet. What definitely want to continue is this journal. Taking a bit of time i the morning to write has been very helpful to help me understand mysel a little more, and it's an activity I'm looking forward to do. I don' have a lot of dedicated time to connect with me, so this checkin stay in 2023!

On the "start" section, I'm thinking travel. Most of my travels hav been work related. The ones that haven't weren't initiated by me. love traveling but flying scares me and puts me in a very anxiou state. After the trip to NYC I realize that it's not so terrible, an that I can 100% manage this. I also realize how great the feeling i when we arrive in a new place and visit it. Not every fear has to b listened to. Especially the ones that prevents us from living fulfilling life. I also wonder how traveling solo is. I'd love to tr this out. So we have the start and continue! What should I stop, then if anything? Overthinking? Thinking of all the different ways particular situation can go wrong? Not doing something because i scares me?


Merry Christmas! Happy Holidays! It turns out I have bronchitis. I' feeling much better than last time I wrote here. The fever is gone a least, which was really dragging me down. It got pretty high, which go me concerned. I decided to stop taking calls on Tuesday and Frida because I just couldn't. Not the merriest experience to be sick durin christmas one might say, but I'm grateful it's evolving in the righ direction. I'm still overall feeling tired and coughing a lot. An coughing hurts a ton. I didn't plan any vacation in the next followin days. I'll be working, and there are a few things that increase m anxiety level when I think of them, but since it's the 25th o December, I'll not focus on them for now. I haven't been exercisin over the last few days and It impacts me psychologically. At least little.

I bought a new phone. It's the iPhone 13 Mini. Its size is close to th one of my beloved 5S, but a bit bigger. I'm so annoyed by the lack o an audio jack on that device though. I'd rather not have a wireles headset. My solution is to use a little jack<>lightning dongle. I kno I'm going to lose it at some point. But hey. At least it works. Beside that, great phone so far. I've migrated almost everything. So that' one thing off my todo list!

I finished a little game in 15f that I re-wrote a few times. It' called netspeed. Your goal is to catch as many "+" as you can durin the alloted time. I re-wrote that game at least 3 time. I started it i the airport when I was going to New York, worked on it in the plane then realized my design was terrible and restarted it. I've been tryin to incorporate the ideas from Thinking Forth such as creatin components and defining lexicons for these components. It's helped. can't help but notice how object oriented and component are similar. A this point, I'm not sure I fully grasp what differentiate th approaches. It seems like components are objects, and the associate lexicon are the methods that operate on that object. Well, now that think about it, objects seem like a specialized type of Component. looked at uxn for inspiration on how to draw sprites. I'm always s fascinated by how elegant the solutions are on uxn. Not only elegan but incredibly well implemented, with as little memory footprint a possible. The opposite of everything I'm doing with 15f right now haha I've implemented the 2 bits per pixel format to draw sprites, added function that returns a random number and a few other things. I haven' delt with handling arrow keys yet, so we need to use wasd to move.

For the next project, I'd love to create a visual prompt. A window i which one is able to write a line of 15f, press enter, and potentiall look at the content of the stack.


So I'm sick. Fever and cough and all. Just had about the worst nigh one could imagine. Weird dreams where I was asking questions to ChatGP and somehow ChatGPT was able to answer everything. It was unsetteling Why would I dream about ChatGPT in the first place? Surely, that's par of being sick. I wish I could remember the questions I was asking i during my sleep, that would've been fun. I should totally have notebook next to my bed and write this dream-related things. I starte getting sick yesterday, and today it went up a notch. Not sure how lon it will stay. I was supposed to go to a work dinner tonight but I' going to cancel because there's no way I do that in my curren condition.

I have two phones: one for work and a personal one. The personal one i an iPhone 5S that I absolutely love. The battery isn't great, but th size and form is great. It's the best iPhone in my opinion Unfortunately, even though the phone itself works well, I'm not able t update to the latest version of iOS. This makes a lot of application unavailable. I don't need many apps, but I do need some like my bankin one, etc. It's terrible to know that a fully functioning device can' work only because of software support. There's literally an "IF somewhere that tests the version and prevents it from updating. I don' mind my phone being slow or having a bad camera. I just want to be abl to run the 3 apps I use confidently. According to ChatGPT (hi!) thi phone was released in 2013. That's not even 10 years ago. If I buy new phone now, will I have the same issue in 10 years? E.g. perfectl functionning phone but no more software updates? Surely this would hav to stop? Anyway, I'm still going to need a new phone for an upcomin (personal) trip. I'm not going to go far with my phone not able t install the Metro application.

I've no idea how I'm going to get through today. Lots of meetings. Som big ones. I need to attend them. I'll work remotely for sure though Caffeine and paracetamol will be my companions. I really need to find way to detach myself from work and understand that my work isn't me It's not everything that defines who I am. In fact, in many regards, m personality is lightyears away from the role I have. I also need t keep in mind that there's no situation I can't get out of, if I operat with kindness, transparancy and understanding. It's ok to mak mistakes, that's how we learn and grow. It's the capacity to own thes mistakes and learn from them that matters.


I feel like it's been forever since I last wrote here. Last week ha been incredibly busy. I went to New York for work, and while I wa there, other work kept on piling up. It's a strange feeling to get bac with even more work than I had before I left. But hey, one step at time. New York has been a great experience overall, if we set asid planes and airports. I almost missed my first flight, but it turned ou it got cancelled. Thankfully I was able to get to the next one. On thing I absolutely love is pizza, and wow, New York has incredibl ones. My diet has been terrible mainly because of that! I'm impresse by how many pizza places there are. I also like how everyone has thei own personal favorite. If anything, I wish I would have spent more tim just to try more of these pizza. Perhaps at some point in the futur I'll go there and try all the places. And document them on thi journal. That'd be a good plan for a sabbatical. Whenever I travel, m overal anxiety level skyrockets mainly because I'm scared of planes It's a strange fear, rooted in nothing substantial. I just can't rela on a plane. My mind keeps on jumping to crazy scenario of things tha won't happen but maybe will. It was also the first time I took th plane in 3 years. It wasn't that terrible.

So as I said previously, I need to focus on the "one step at a time" Also, I should focus on a big learning from forth: when a problem seem overly complicated, just break it down in smaller components. Today, have a few overly complicated problems that make my brain spend cycle trying to process them. Of course, those cycles are spent when I' trying to sleep. Not ideal! So here's the overall strategy for now: 1 break down large problems into smaller ones and 2. take them one ste at a time. I'm forgetting the step that comes before 1, which i prioritize those problems. There I have it.

I picked-up going to the gym when I got back from London a little mor than a month ago. I don't go often, usually on weekends. However, realize that it makes me feel better and helps me mentally. When started, I was barely able to do a single pull up. I went back o Saturday and I was able to do 4, so there's progress! Funny how littl progress like that impact the mind.


Everybody's talking about ChatGPT. This is some crazy thing. Fo example, when I asked it "write a short paragraph describing why peopl are scared of chatGPT", here it what it says:

Some people may be scared of ChatGPT or other large language model because they are advanced AI systems that can generate human-like text This ability may make some people uneasy, as it can sometimes b difficult to distinguish the output of a language model from th writing of a real person. Additionally, the potential power an capabilities of these systems may be intimidating to some people, wh may worry about the impact they could have on society. Additionally the fact that language models are trained on vast amounts of data including potentially sensitive or private information, may also be concern for some people.

And it goes on. I just asked it a question about FORTH and the answe is surprisingly accurate. I'm honestly fascinated by this. I coul picture such a technology being used in so many places in companies where knowledge management is often an issue. Such a bot can become a entry point you ask questions to, and get answers as well as links t documents. The best thing is that it'd learn and get better as tim progresses.

I'm just not looking forward to the day where most of the conten online is generated.


Been working on a simple color picker for 15f. It's inspired by th color picker example from easylang. For now, colors are encoded in decimal digits ranging from 0 to 9 for r, g, and b. For example, whit is 999. Blue is 009, and so on. Using that system, I can encode 100 (10^3) colors, which should probably be enough! Building the picke took me the whole day. I've added missing words such as *, AND, < >. had written a few routines to draw directly in FORTH as part of th standard lib. One of them was a word to draw a rectangle. However, realized that on larger screens, drawing a rectangle was a bit slo when the rectangle was large. Because it's such a common thing to do, decided to re-write the rectangle word in C directly. It's now ver fast. I'll add another word for drawing a line, which I'm probabl going to write in C as well. But before that, I'd love to have a way t write on the screen a number from the stack. I am not 100% sure how I' do that just yet. But that's a problem for another time!


Saturday evening. Currently enjoying a home-made old fashioned. For th first time, it doesn't taste too bad! I had some oranges I could pee for the extra flavor. Surely, it adds to the mix. I haven't use bourbon, but scotch. It's a tad strong but I don't mind. I'm glad I wa able to rest today. This week has been really intense and I'm stil there, so cheers! I'll be travelling to New York for work the wee after next, and even though I don't like planes, I'm looking forward t that.

I've been having a blast using mercurial on some projects recently What's interestingly is that conceptually, it's pretty close to gi even though there are some major differences. I like how both project came out roughly at the same time, for similar purpose. Last weekend took some time to start a mercurial server on an openbsd machine. I' thinking about moving all my projects there at some point. Not now We'll get there! Speaking of projects, it's fun to see status.caf grow. I also should soon start restricting the number of statuses show on the homepage, since there starts to be a lot!

Have been doing some more FORTH today. Last time I actually wrote abou the ['] word, and I finally found a use for it, so it's no implemented. I've been (re-)reading uxn and I'm so in awe at how wel thought the whole system is. I'm thinking about implementing a simila "device" / ports system to interact with the screen and othe functions. Speaking of the screen. I'm starting to add ways to draw t it. I'm probably going to change everything soon, but for now, here i how it goes: we can set a color. The color is expressed with 3 decima digits (inspired by easylang). E.g. 009 would set the color to blue Then I can CLEAR, which would set all pixels on the screen to blue Then if I want to draw a pixel, I first need to MOVE ( x y -- ) t where I want to add it. Now that we've positioned ourselves at th right place, we can just run PIXEL ( -- ). It uses the current color t draw the pixel at the current position.

Anyway! That's enough writing for today.


: COMPILE ['] LIT , ' , ['] , , ; IMMEDIATE

This would probably be what compile would look like if I took it of the C code and defined it in FORTH. I'll just stick with keeping thing simple and having COMPILE as part of the C code. As I learn more abou FORTH and become more confident, I'll be able to change a few thing and bootstrap lower level words like this one. It was a fun experimen though. Also, I'm leaving this there for future reference. Always goo to keep track of little things! Speaking of little things. To make th above code work I had to add the ['] word. And even though it's useful word, I'm not using it at all for now, so I'll just remove it Again, for reference, here's what the C code looks like:

/* ['] push adr of next mem cell */ errc run_btk(Ctx *ctx) { /* ( - adr ) */ return stack_push(&ctx->pstack ctx->[ctx->m_ptr++]); }

Hope you don't mind me adding this to the journal! Didn't feel lik adding a single tiny function to source control, given I might neve actually get back to it. But didn't want to lose it either.


Some weeks feel like a mountain to climb. Only Tuesday and I feel lik I already need a break. Worst part is that Monday wasn't the hardes day. There's a lot to process and even more to do. I somehow need t shut down the "process" part and focus on doing. I'll probably need t accept that it's okay if what I do isn't perfect, or as qualitative a what I could have done. That it's ok if people are disapointed. As lon as I try. And I'm trying. Not my hardest, but am still trying. What' the worst that can happen at work? Not getting a promotion? I don' need one. Being exited? Great -- I'd love some time off! At some point the pace in big companies is hard to keep. I guess there are harde days than others. I just need more coffee than usual. Way more!

On a much more fun note, been I've added a few nice bits around writin text on my forth interpreter. I added a non-standard forth word, !" that stores the following string at a specific address. It uses a lowe level word (non standard too) called QOT that does the same thing in non-IMMEDIATE way. Using that word I was able to write ." that write the following string on the screen directly. To write on the screen I've implemented TYPE that EMIT letters as they come. I've struggle quite a lot to implement ." (dot quote). I struggled because this wor does a lot of things. It took me time to realize that. I bruteforced m way into trying to get something working with simple words. At som point I thought "hey, I just need to break down the dot quote int smaller pieces". And that was what unlocked me. I've added a word tha I called SEEK which simplified the problem by a lot. So here's th learning: whenever writing a word is hard, break the word down i simpler words.


Good morning, good evening, good afternoon. Definitely morning aroun here, and freezing too! In fact, I am wearing a coat writing this a I'm sipping hot coffee. Best feeling. Yesterday's been hectic: so man things to do at work, so little time. I enjoy going to the office an see colleagues, but I'm so much less productive than when I work fro home. Then of course, slack messages pile up, todo lists grow, and end up the day with much more to do than when I started it. Never good sign!

I've started a disk with everything I'm learning from OpenBSD. I' saying OpenBSD, but it's really about administrating an OpenBSD system and little things around. The goal is for me to be able to refer bac to it when I need to do something specific, or to revive some knowledg that slipped my mind. The format is the following: one DOCUMENT fo each learning. So hierarchy. I just LEAP to get to where I need to be search around. It's still small and a work in progress. I've added i to, which is probably going to be the place I'll be addin my code repositories from now on.

Putting up has been fun to do! I discovered relayd, a incredible software that I used as a simple reverse proxy to hoo requests on port 80 to port 8000. But there's so much more to it. It' interesting, and a first quite frustrating, to see that proxyin request isn't included in OpenBSD's httpd. But come to think of it, i allows each tool to focus on their job. In this case, I already have webserver running (using hg serve), so I don't need to run httpd.

I've been a little FORTHtrated since yesterday. I'm trying to write th COMPILE word in FORTH directly. For that, I'm using other word (obviously). One of them is OP, it reads the next word from the inpu stream and puts its opcode on the stack. Compiling would then just b "OP ," (comma writes what's on the stack in the memory). But thi creates a lot of problem, one of them being that we don't really us COMPILE outside of colon definitions. I feel like FORTH is such a incredible puzzle: we can always cut down problems in smaller chunks How small do we want to chunks to be? As I'm writing this, I feel lik I'll just include COMPILE as part of the system's words. As I get mor knowledge on building FORTH systems, I can always re-write a ne interpreter in the future with more learnings. For now, I'll stick to simple one.


How time flies. Taking time to write what's on your mind will make yo realize that. It certainly does to me. When I look at the day it is and realize how many have passed since I first started writing, o working on a project, or when I simply look at other entries it feel strange. I feel like a few days ago it was still spring, not quit summer yet. I was in a different place then. So much has changed evolved in the last few months that it feels like years have gone by but yet, that everything happened quickly. I don't like to think o time as a finite resource that we just consume. Heck, I don't like tim so much. Well I do. But I don't. Why am I making zero sense right now?

I'll be travelling to NYC for work in a few weeks. While I still nee to book the trip, I'm already starting to think about it. The city mus be beautiful by that time of the year. I'm not sure I'll be able t spend much more than a few days there, but I do hope that I get t enjoy at least one evening without colleagues. Just walking around an be amazed, and stop at a bar, get a cocktail (or 4) and watch people Even though time goes by quickly, I hope I'll be able to full appreciate my time there and not be overwhelmed by work. Perhaps should start to practice meditation. I'll certainly need it when I'm i the plane. I don't like being on a plane!


So the funny thing is that internet is currently down at my place Actually, not that funny, to be honest, but I like the irony of writin without an actual connection. I enjoy being able to do things with m computer while offline. Actually, I enjoy doing things on my compute that don't require a web browser. Such as reading PDFs for example I've recently installed xpdf, a simple program to read PDFs and it' been very useful. Before that, I was using Firefox. Firefox's PD viewer works well. But I like that I'm not using my browser fo literally everything.

Today, I decided to try mercurial. No specific reason besides that it' something I didn't know. I've had lots of fun reading the docs an trying it out. I enjoy the simplicity of the design. It's crazy t think that both mercurial and git came out roughly at the same time. S far, I like the simplicity for my development workflow, which mostl consists of creating revisions every now and then when I mak sufficient progress. While I don't use branching often, it seems lik the branching model is very flexible. I like that there's an integrate server called hgweb. I decided to use mercurial for 15forth, which i now available on Let's see how it goes!

Speaking of 15forth, I removed a few words from the actual C code an instead added them to the standard library. I'm starting to really se how powerful FORTH can be, and how having well-defined, useful smal words has a multiplier effect on rest of the codebase. A good exampl is the "!" word, which allows to write a value at a specific address Using it, it's possible to define the "," word, which makes it possibl to define the [LITERAL] word. I've also started to remove loops fro the C code re-writing them in FORTH directly. Next step will be to ad IFs.

I've started to read "Thinking Forth". It's great that it's a packag that's included within OpenBSD! The book is fascinating. I particularl like the following quote: "You shouldn't write any serious language i Forth. As a language it's not powerful enough. What you should do i write your own languges in forth (lexicons) to model your understandin of the problem, in which you can elegantly describe its solution."


Friday already. How time passes! This week is not over yet, I stil have a ton of things to finish today and quite a lot of meetings t attend as well. But it's still hard for me to believe how quickly i went. I got so tired yesterday that I feel asleep incredibly quickl and as a result, had a great night. Great nights are cool. I'll take great night every night. I'm feeling recharged and it's only Friday Let's hope this day doesn't take too much of a toll on me!

I've quickly added the COMPILE word to my forth interpreter. I' certain there are a lot of bugs but it worked when I ran the test Small victory! Next up: adding the LITERAL one. I've named it "push but I'd rather stay consistent with the spec. Once I have these, I'l be able to start writing DO LOOP and IFs directly in FORTH. I think We'll see!


It's the morning, my coffee's already cold and almost finished, but a I promised in yesterday entry, here I am! Writing before going going t sleep definitely not stop the thoughts from popping-up in my mind righ before falling asleep. Next-up: meditation? Writing is a littl meditative though. We focus on the moment. Well, not only, since we'r literally exploring our thoughts. Ok forget what I just said. No meditative. Reflective maybe. This morning I've been looking int adding FORTH words to extend the compiler. I'm so awestruck by some o the design decisions of FORTH. Things feel very meta in a simple way My first approach was to add a lot of words, and now I'm trying t remove as many words as possible but instead just add words that allo to define other words. There's this idea of IMMEDIATE words that ar executed while a definition gets compiled. I've added these. Next u will be adding the COMPILE word to let the immediate words do usefu things, like compiling for example. I'm sure I'll run into a millio roadblocks but at least it's a fun and humbling learning experience And it makes me think about other things. It's incredibly cold toda these days. Yeah. I'll leave it to that!


I realize I write most of the time in the morning. Usually, it's righ after I get up. Just when I'm getting my coffee. I don't often writ during the evenings though. Which is interesting, because evenings ar a great moment to reflect on the day, aren't they? What better momen to pause than before wrapping up the day? The way the brain works i strange. It's only when I go to sleep and am ready to fall asleep tha many thoughts start racing through my consciousness. They're calling m "hey, think about this quickly before you sleep!". Of course, it's trap. Giving in to these thoughts is the best way to not sleep, an also a great way to build anxiety. Being tired and just about to fal asleep isn't the best moment for clarity. Yet, somehow my thoughts kee jumping in my brain before sleeping. So here I am writing before tha time, hoping that perhaps my mind will decide that it had its chance t express itself, and will simply give in to recharging its ow batteries. But let's be honest, we all know that it's not going t happen. The moment the lights are off is the moment I'll start thinkin about what specifically am I not looking forward to tomorrow? Then hey I'm probably going to dream about it. I'm joking though, it's no always like that. Sometimes I also think about stuff that gets m excited, or about how I should refactor this or that part of a on-going project. The result is similar though, since I get to no sleep that much. But it's more pleasant. The added bonus is that in th morning I know exactly what to update in my code. The funny part i when various topics from seemingly different places get intertwined i dreams. Recently I've been working on a FORTH interpreter on my fre time, and got to report to a different manager at work. So somehow I'v started dreaming that I had to do all my 1-1s in FORTH exclusively. An while FORTH is very expressive and I like it a lot, I'm not sure i this was a dream or a nightmare! So hey, I don't know if FORTH will b on my mind tonight. Maybe not? Perhaps I should report on the situatio tomorrow, when I wake up.


This week has been incredible. So many things happened, it's hard t believe it's only been a single week. At work, things are evolvin quickly. Last Monday I've been told about a change in my scope, whic I'm excited about and scared of at the same time. I've met ver interesting people this week two, and I'm grateful for that! I've als seen a friend I hadn't seen for many years, and it's been great t catch up with them.

I've also spent some time working on my FORTH system. Not as much as would have hoped, but at least a little. I'm currently trying t incorporate compiling words such as CREATE and DOES>. I've bee struggling today to get those in. My implementation is slightl different from the standard, but that's a tradeoff I'm willing to take I've also started to write a simple standard library where I'm hopin to put all the words that aren't critical. It's also fun to star defining words with words that already exist.

My experience using FORTH is still very limited, but I'm starting t appreciate the beauty and simplicity of the language. I love the ide of writing words and composing with them. It's a good philsophy t approach problems: break it down in simple parts, and compose othe simple parts with those parts. It's very elegant.


It's been a few months now (I think?) that I've changed laptop. didn't really want to, it just somehow happened. I wanted to learn mor about OpenBSD, mainly because let's be honest, their logo is the bes logo. A puffer fish! What can be cooler? Nothing. And it just happen that the whole system is very interesting to learn. The most strikin (to me) element is how thorough and well written the documentation is I can feel the obsession to not just make things work, but to make sur things work as well as possible, and always stay correct. So yeah, I'v installed it on an old laptop I had that was sitting around, and hav been playing with it ever since. OpenBSD comes out of the box with thi window system for X called fvwm. I enjoy the looks and customizabilit of it, but I feel like I'm mainly scratching the surface. I take thi whole thing as a learning experience. and this learning experience ha a bunch of struggles along the way. One of which is simply connectin the system to a monitor, or connecting to wifi.

Today I found out about xfe, a file explorer that's very convenient. had been browsing my file system with the terminal and emacs up unti now, but xfe works really. And the good thing is that I choose th program I'd like to run for specific extensions. Really conveninent t run bitters on .bit files for example. I'll definitely be exploring i more in the future.

I've also made some progress on 15f, the little FORTH machine I' working on that's built on top of some code I wrote for bitters. I'v added the possibility to create variables, and to retrieve or stor numbers in them. I've also updated some of the memory part. Every par that can store information now use a "cell", which is an unsigned 1 bits number. I've written a hello world, which looks like that.

There are many things I'd like to add, such as being able to change th background color or the font color. I'm also thinking about adding mor characters (e.g. CP 437) to draw some ascii art. Perhaps animate it That's be fun. But hey, we're not there yet.


Today I've spent a lot of time trying to write a little FORT interpreter. At the moment it doesn't do much. It's possible to execut a few words like +, - and also : (to create a custom word). But I' happy since most of the parts are in place, and I can now start addin more words. I'm actually thinking about reusing some of the code I'v created for bitters to create a super simple FORTH machine that allow to write text on the screen, change color, do things like that. I' probably be a fun learning experience, so hey! If you want to look a the code, it's available right here.

Besides that, I haven't done much today. I've updated this site to no have a background color, I think it looks nicer. But knowing myself I'll probably think differently tomorrow. Then, I'll change the colo again because why not!


Heya. I've decided to update my site. The previous version was great much better than this one! But. I somehow changed-ish laptop, and yo know the problem where you change laptop and suddenly you lose acces to a few things? Yes. That's one of my problems. This site was usin nini to statically generate pages and interconnect them with backlinks and it's great. But I figured I'll keep it to simple html pages tha don't need any compilation for now, so that when I change this laptop I'll still be able to publish without having to install anything. Th site does look very boring, I hope you don't mind! Hopefully what wil get written in here will make up for it.

So many things has happened since I last wrote in here that I don' even know where to start! Life has been busy professionally, which i great, but also tiring. On the side I've been learning OpenBSD. I go back to learn C also, and wrote a little text editor inspired by th Canon Cat. In fact, I'm writing this from that editor right now! It' called bitters, and you should definitely take a look at it. It's bee a great ride so far. I'm loving C and all the freedom it offers. I' thankful to all the code I've been able to read and learn from. I'v picked up "The C Programming Language" book and I'm utterly impresse by its quality. I enjoy the particular relation unix has with C.

Speaking of languages, I've been reading a lot about FORTH recently The book "Starting FORTH" is incredible. Very well written with diagra and even drawings. It reminds me of why's poignant guide to ruby. Bot "Starting FORTH" and "The C Programming Language" are on my top programming book of all time. Yes, why's poignant guide to ruby i first!