# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 14847
# self = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=14281
# next = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=14381
# prev = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=14181
@johanbove Easier said than done. Couldn’t believe my eyes this morning.
@johanbove Easier said than done. Couldn’t believe my eyes this morning.
@johanbove Easier said than done. Couldn’t believe my eyes this morning.
@johanbove Easier said than done. Couldn’t believe my eyes this morning.
@xuu What’s going on here? Are you doing anything or does it jump to that error page randomly?
@xuu What’s going on here? Are you doing anything or does it jump to that error page randomly?
@xuu What’s going on here? Are you doing anything or does it jump to that error page randomly?
@xuu What’s going on here? Are you doing anything or does it jump to that error page randomly?
@lyse Ahh, that good old orange light. 😍 Yeah, everything’s foggy here as well.
@lyse Ahh, that good old orange light. 😍 Yeah, everything’s foggy here as well.
@lyse Ahh, that good old orange light. 😍 Yeah, everything’s foggy here as well.
@lyse Ahh, that good old orange light. 😍 Yeah, everything’s foggy here as well.
@eldersnake @arne Don’t let your telescopes rot! 😃

@lyse They say, 18:48 today is the next time slot: https://social.bund.de/@dlr_next/113859521382441187
@eldersnake @arne Don’t let your telescopes rot! 😃

@lyse They say, 18:48 today is the next time slot: https://social.bund.de/@dlr_next/113859521382441187
@eldersnake @arne Don’t let your telescopes rot! 😃

@lyse They say, 18:48 today is the next time slot: https://social.bund.de/@dlr_next/113859521382441187
@eldersnake @arne Don’t let your telescopes rot! 😃

@lyse They say, 18:48 today is the next time slot: https://social.bund.de/@dlr_next/113859521382441187
ISS (the long “line” on the right) passing Venus and Saturn:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Diss.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/iss.ff.jpg)

Jupiter and its moons a few days ago:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Djupiter.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/jupiter.ff.jpg)

Not spectacular shots, but hey, it’s something.

Also saw the crescent Venus and Saturn’s rings through my scope (you know, the one for bird watching).
ISS (the long “line” on the right) passing Venus and Saturn:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Diss.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/iss.ff.jpg)

Jupiter and its moons a few days ago:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Djupiter.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/jupiter.ff.jpg)

Not spectacular shots, but hey, it’s something.

Also saw the crescent Venus and Saturn’s rings through my scope (you know, the one for bird watching).
ISS (the long “line” on the right) passing Venus and Saturn:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Diss.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/iss.ff.jpg)

Jupiter and its moons a few days ago:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Djupiter.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/jupiter.ff.jpg)

Not spectacular shots, but hey, it’s something.

Also saw the crescent Venus and Saturn’s rings through my scope (you know, the one for bird watching).
ISS (the long “line” on the right) passing Venus and Saturn:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Diss.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/iss.ff.jpg)

Jupiter and its moons a few days ago:

[![](https://movq.de/v/6b6bdafb7e/.html%2Dindex%2Dthumb%2Djupiter.ff.jpg.jpg)](https://movq.de/v/6b6bdafb7e/jupiter.ff.jpg)

Not spectacular shots, but hey, it’s something.

Also saw the crescent Venus and Saturn’s rings through my scope (you know, the one for bird watching).
Preaching to the choir, I guess: The PC is Dead: It’s Time to Make Computing Personal Again
Preaching to the choir, I guess: The PC is Dead: It’s Time to Make Computing Personal Again
Preaching to the choir, I guess: The PC is Dead: It’s Time to Make Computing Personal Again
Preaching to the choir, I guess: The PC is Dead: It’s Time to Make Computing Personal Again
@xuu The OA this time. I don’t know if it’s any good. I saw an actor that I thought I recognized, looked it up, saw that the show got cancelled, and then stopped watching. I hate unfinished stories.
@xuu The OA this time. I don’t know if it’s any good. I saw an actor that I thought I recognized, looked it up, saw that the show got cancelled, and then stopped watching. I hate unfinished stories.
@xuu The OA this time. I don’t know if it’s any good. I saw an actor that I thought I recognized, looked it up, saw that the show got cancelled, and then stopped watching. I hate unfinished stories.
@xuu The OA this time. I don’t know if it’s any good. I saw an actor that I thought I recognized, looked it up, saw that the show got cancelled, and then stopped watching. I hate unfinished stories.
Reverse-engineering a carry-lookahead adder in the Pentium 🤯
Reverse-engineering a carry-lookahead adder in the Pentium 🤯
Reverse-engineering a carry-lookahead adder in the Pentium 🤯
Reverse-engineering a carry-lookahead adder in the Pentium 🤯
@eldersnake Pretty much. 😂 It’s all the stuff tagged as “DesktopEnv” here: https://www.uninformativ.de/git/ The WM was written from scratch as a learning project, although it feels very similar to dwm, yes.
@eldersnake Pretty much. 😂 It’s all the stuff tagged as “DesktopEnv” here: https://www.uninformativ.de/git/ The WM was written from scratch as a learning project, although it feels very similar to dwm, yes.
@eldersnake Pretty much. 😂 It’s all the stuff tagged as “DesktopEnv” here: https://www.uninformativ.de/git/ The WM was written from scratch as a learning project, although it feels very similar to dwm, yes.
@eldersnake Pretty much. 😂 It’s all the stuff tagged as “DesktopEnv” here: https://www.uninformativ.de/git/ The WM was written from scratch as a learning project, although it feels very similar to dwm, yes.
(Those 440 bytes include the BIOS Parameter Block, which can’t be used for code. The available space for the code is just 378 bytes. There’s really not a lot going on here other than loading the kernel into memory, or some second stage of a bootloader, and then executing that.)
(Those 440 bytes include the BIOS Parameter Block, which can’t be used for code. The available space for the code is just 378 bytes. There’s really not a lot going on here other than loading the kernel into memory, or some second stage of a bootloader, and then executing that.)
(Those 440 bytes include the BIOS Parameter Block, which can’t be used for code. The available space for the code is just 378 bytes. There’s really not a lot going on here other than loading the kernel into memory, or some second stage of a bootloader, and then executing that.)
(Those 440 bytes include the BIOS Parameter Block, which can’t be used for code. The available space for the code is just 378 bytes. There’s really not a lot going on here other than loading the kernel into memory, or some second stage of a bootloader, and then executing that.)
@lyse

> Maybe with the very simplest of the easy ones it might be still reasonably straight forward

I did that and the compiled bootloader is now 439 bytes in size – the available space is 440 bytes. So, phew, it *just* fits now. 😂
@lyse

> Maybe with the very simplest of the easy ones it might be still reasonably straight forward

I did that and the compiled bootloader is now 439 bytes in size – the available space is 440 bytes. So, phew, it *just* fits now. 😂
@lyse

> Maybe with the very simplest of the easy ones it might be still reasonably straight forward

I did that and the compiled bootloader is now 439 bytes in size – the available space is 440 bytes. So, phew, it *just* fits now. 😂
@lyse

> Maybe with the very simplest of the easy ones it might be still reasonably straight forward

I did that and the compiled bootloader is now 439 bytes in size – the available space is 440 bytes. So, phew, it *just* fits now. 😂
@lyse Oof, I know that feeling. 😂 (It was much worse when I still had my 1280x1024 screen. 🥴)

Corporate IT environments are just a nightmare. Bah. No. We don’t talk about that now. It’s the weekend! 🥳🥳🥳
@lyse Oof, I know that feeling. 😂 (It was much worse when I still had my 1280x1024 screen. 🥴)

Corporate IT environments are just a nightmare. Bah. No. We don’t talk about that now. It’s the weekend! 🥳🥳🥳
@lyse Oof, I know that feeling. 😂 (It was much worse when I still had my 1280x1024 screen. 🥴)

Corporate IT environments are just a nightmare. Bah. No. We don’t talk about that now. It’s the weekend! 🥳🥳🥳
@lyse Oof, I know that feeling. 😂 (It was much worse when I still had my 1280x1024 screen. 🥴)

Corporate IT environments are just a nightmare. Bah. No. We don’t talk about that now. It’s the weekend! 🥳🥳🥳
Friendly, regular reminder to *always* check if a TV show has already been cancelled before you start watching it.
Friendly, regular reminder to *always* check if a TV show has already been cancelled before you start watching it.
Friendly, regular reminder to *always* check if a TV show has already been cancelled before you start watching it.
Friendly, regular reminder to *always* check if a TV show has already been cancelled before you start watching it.
(Uff, wow, ich glaube, das letzte Mal im Kino war ich 2003 zu „Matrix Reloaded“.)
(Uff, wow, ich glaube, das letzte Mal im Kino war ich 2003 zu „Matrix Reloaded“.)
(Uff, wow, ich glaube, das letzte Mal im Kino war ich 2003 zu „Matrix Reloaded“.)
(Uff, wow, ich glaube, das letzte Mal im Kino war ich 2003 zu „Matrix Reloaded“.)
@anth I stopped using a persistent browser profile ~10 years ago and this was a great decision. When I shut down my PC at the end of the day, the browser profile with all the tabs and history is gone. I don’t miss it at all. By now, I’m disciplined enough to take a note of important links right away.

This probably doesn’t work for everybody, but I love it.~
@anth I stopped using a persistent browser profile ~10 years ago and this was a great decision. When I shut down my PC at the end of the day, the browser profile with all the tabs and history is gone. I don’t miss it at all. By now, I’m disciplined enough to take a note of important links right away.

This probably doesn’t work for everybody, but I love it.~
@anth I stopped using a persistent browser profile ~10 years ago and this was a great decision. When I shut down my PC at the end of the day, the browser profile with all the tabs and history is gone. I don’t miss it at all. By now, I’m disciplined enough to take a note of important links right away.

This probably doesn’t work for everybody, but I love it.~
@anth I stopped using a persistent browser profile ~10 years ago and this was a great decision. When I shut down my PC at the end of the day, the browser profile with all the tabs and history is gone. I don’t miss it at all. By now, I’m disciplined enough to take a note of important links right away.

This probably doesn’t work for everybody, but I love it.~
@lyse I take it this is a typical corporate network with a ton of firewalling rules? And, oh god, so much Microsoft. 🤢
@lyse I take it this is a typical corporate network with a ton of firewalling rules? And, oh god, so much Microsoft. 🤢
@lyse I take it this is a typical corporate network with a ton of firewalling rules? And, oh god, so much Microsoft. 🤢
@lyse I take it this is a typical corporate network with a ton of firewalling rules? And, oh god, so much Microsoft. 🤢
@lyse Heh, thanks, yeah, reading the Intel docs takes time. I’ve been doing that on and off since September (for this blog post), so I’m almost used to it now. But doing that for the very first time is quite gnarly. They’re not super well written.

I really think (this time) that I won’t add many more features. 😅 At the moment, the program is very “generic” and basically only does some pattern matching: If it sees a mov instruction followed by some 8 bit register and then some 8 bit number, then it encodes it as a 0xB0 byte using a certain mechanism (e.g., the register number might get added to 0xB0 and then the 8 bit number might just follow verbatim). That’s what the long list in the screenshot shows. “A cmp followed by two arguments of a certain type gets encoded as …” They’re all handled exactly the same.

Adding support for more instructions *mostly* just means adding more entries to that table.

If I were to add “optimizations”, I *guess* complexity would skyrocket. 😅
@lyse Heh, thanks, yeah, reading the Intel docs takes time. I’ve been doing that on and off since September (for this blog post), so I’m almost used to it now. But doing that for the very first time is quite gnarly. They’re not super well written.

I really think (this time) that I won’t add many more features. 😅 At the moment, the program is very “generic” and basically only does some pattern matching: If it sees a mov instruction followed by some 8 bit register and then some 8 bit number, then it encodes it as a 0xB0 byte using a certain mechanism (e.g., the register number might get added to 0xB0 and then the 8 bit number might just follow verbatim). That’s what the long list in the screenshot shows. “A cmp followed by two arguments of a certain type gets encoded as …” They’re all handled exactly the same.

Adding support for more instructions *mostly* just means adding more entries to that table.

If I were to add “optimizations”, I *guess* complexity would skyrocket. 😅
@lyse Heh, thanks, yeah, reading the Intel docs takes time. I’ve been doing that on and off since September (for this blog post), so I’m almost used to it now. But doing that for the very first time is quite gnarly. They’re not super well written.

I really think (this time) that I won’t add many more features. 😅 At the moment, the program is very “generic” and basically only does some pattern matching: If it sees a mov instruction followed by some 8 bit register and then some 8 bit number, then it encodes it as a 0xB0 byte using a certain mechanism (e.g., the register number might get added to 0xB0 and then the 8 bit number might just follow verbatim). That’s what the long list in the screenshot shows. “A cmp followed by two arguments of a certain type gets encoded as …” They’re all handled exactly the same.

Adding support for more instructions *mostly* just means adding more entries to that table.

If I were to add “optimizations”, I *guess* complexity would skyrocket. 😅
@lyse Heh, thanks, yeah, reading the Intel docs takes time. I’ve been doing that on and off since September (for this blog post), so I’m almost used to it now. But doing that for the very first time is quite gnarly. They’re not super well written.

I really think (this time) that I won’t add many more features. 😅 At the moment, the program is very “generic” and basically only does some pattern matching: If it sees a mov instruction followed by some 8 bit register and then some 8 bit number, then it encodes it as a 0xB0 byte using a certain mechanism (e.g., the register number might get added to 0xB0 and then the 8 bit number might just follow verbatim). That’s what the long list in the screenshot shows. “A cmp followed by two arguments of a certain type gets encoded as …” They’re all handled exactly the same.

Adding support for more instructions *mostly* just means adding more entries to that table.

If I were to add “optimizations”, I *guess* complexity would skyrocket. 😅
@kat Have fun. 🐧🚗 I played that a lot out of boredom during the peak of the pandemic. 😅
@kat Have fun. 🐧🚗 I played that a lot out of boredom during the peak of the pandemic. 😅
@kat Have fun. 🐧🚗 I played that a lot out of boredom during the peak of the pandemic. 😅
@kat Have fun. 🐧🚗 I played that a lot out of boredom during the peak of the pandemic. 😅
@kat Well, consider me jealous. 😅

So, is that a standard lubuntu or a special version for that laptop? Any driver issues so far?
@kat Well, consider me jealous. 😅

So, is that a standard lubuntu or a special version for that laptop? Any driver issues so far?
@kat Well, consider me jealous. 😅

So, is that a standard lubuntu or a special version for that laptop? Any driver issues so far?
@kat Well, consider me jealous. 😅

So, is that a standard lubuntu or a special version for that laptop? Any driver issues so far?
The most valuable resource is Table B-13 at the end of Volume 2D of the Intel docs. It’s a very long but easy to understand table of instruction encodings – assuming you already know how that ModR/M stuff works.

The most valuable resource is Table B-13 at the end of Volume 2D of the Intel docs. It’s a very long but easy to understand table of instruction encodings – assuming you already know how that ModR/M stuff works.

The most valuable resource is Table B-13 at the end of Volume 2D of the Intel docs. It’s a very long but easy to understand table of instruction encodings – assuming you already know how that ModR/M stuff works.

The most valuable resource is Table B-13 at the end of Volume 2D of the Intel docs. It’s a very long but easy to understand table of instruction encodings – assuming you already know how that ModR/M stuff works.

@lyse Yeah, what else does one need? 😅

I added more instructions, made it portable (so it runs on my own OS as well as Linux/DOS/whatever), and the assembler is now good enough to be used in the build process to compile the bootloader:



That is pretty cool. 😎

It’s still a “naive” assembler. There are zero optimizations and it can’t do macros (so I had to resort to using cpp). Since nothing is optimized, it uses longer opcodes than NASM and that makes the bootloader 11 bytes too large. 🥴 I avoided that for now by removing some cosmetic output from the bootloader.
@lyse Yeah, what else does one need? 😅

I added more instructions, made it portable (so it runs on my own OS as well as Linux/DOS/whatever), and the assembler is now good enough to be used in the build process to compile the bootloader:



That is pretty cool. 😎

It’s still a “naive” assembler. There are zero optimizations and it can’t do macros (so I had to resort to using cpp). Since nothing is optimized, it uses longer opcodes than NASM and that makes the bootloader 11 bytes too large. 🥴 I avoided that for now by removing some cosmetic output from the bootloader.
@lyse Yeah, what else does one need? 😅

I added more instructions, made it portable (so it runs on my own OS as well as Linux/DOS/whatever), and the assembler is now good enough to be used in the build process to compile the bootloader:



That is pretty cool. 😎

It’s still a “naive” assembler. There are zero optimizations and it can’t do macros (so I had to resort to using cpp). Since nothing is optimized, it uses longer opcodes than NASM and that makes the bootloader 11 bytes too large. 🥴 I avoided that for now by removing some cosmetic output from the bootloader.
@lyse Yeah, what else does one need? 😅

I added more instructions, made it portable (so it runs on my own OS as well as Linux/DOS/whatever), and the assembler is now good enough to be used in the build process to compile the bootloader:



That is pretty cool. 😎

It’s still a “naive” assembler. There are zero optimizations and it can’t do macros (so I had to resort to using cpp). Since nothing is optimized, it uses longer opcodes than NASM and that makes the bootloader 11 bytes too large. 🥴 I avoided that for now by removing some cosmetic output from the bootloader.
@lyse I read it in the news, lots of ice in your area. 🫤 (There’s nothing going on over here.)
@lyse I read it in the news, lots of ice in your area. 🫤 (There’s nothing going on over here.)
@lyse I read it in the news, lots of ice in your area. 🫤 (There’s nothing going on over here.)
@lyse I read it in the news, lots of ice in your area. 🫤 (There’s nothing going on over here.)
Alright, I have a little 8086 assembler for my toy OS going now – or rather a proof-of-concept thereof. It only supports a tiny fraction of the instruction set. It was an interesting learning experience, but I don’t think trying to “complete” this program is worth my time.

The whole thing is just a learning project, I don’t want to actually make a usable OS. There are a few more things I want to have a look at and then I’ll eventually move on to 386/amd64 later this year (hopefully).

https://movq.de/v/d8f30cbe75/vid3.mp4
Alright, I have a little 8086 assembler for my toy OS going now – or rather a proof-of-concept thereof. It only supports a tiny fraction of the instruction set. It was an interesting learning experience, but I don’t think trying to “complete” this program is worth my time.

The whole thing is just a learning project, I don’t want to actually make a usable OS. There are a few more things I want to have a look at and then I’ll eventually move on to 386/amd64 later this year (hopefully).

https://movq.de/v/d8f30cbe75/vid3.mp4
Alright, I have a little 8086 assembler for my toy OS going now – or rather a proof-of-concept thereof. It only supports a tiny fraction of the instruction set. It was an interesting learning experience, but I don’t think trying to “complete” this program is worth my time.

The whole thing is just a learning project, I don’t want to actually make a usable OS. There are a few more things I want to have a look at and then I’ll eventually move on to 386/amd64 later this year (hopefully).

https://movq.de/v/d8f30cbe75/vid3.mp4
Alright, I have a little 8086 assembler for my toy OS going now – or rather a proof-of-concept thereof. It only supports a tiny fraction of the instruction set. It was an interesting learning experience, but I don’t think trying to “complete” this program is worth my time.

The whole thing is just a learning project, I don’t want to actually make a usable OS. There are a few more things I want to have a look at and then I’ll eventually move on to 386/amd64 later this year (hopefully).

https://movq.de/v/d8f30cbe75/vid3.mp4
@aelaraji Nice! 🥳

And thanks for the reminder! I forgot, of course. But I had a quick look now and got to see Saturn and its (currently very flat) rings. This never gets old, always blows my mind. Looks like a scifi movie. 😃
@aelaraji Nice! 🥳

And thanks for the reminder! I forgot, of course. But I had a quick look now and got to see Saturn and its (currently very flat) rings. This never gets old, always blows my mind. Looks like a scifi movie. 😃
@aelaraji Nice! 🥳

And thanks for the reminder! I forgot, of course. But I had a quick look now and got to see Saturn and its (currently very flat) rings. This never gets old, always blows my mind. Looks like a scifi movie. 😃
@aelaraji Nice! 🥳

And thanks for the reminder! I forgot, of course. But I had a quick look now and got to see Saturn and its (currently very flat) rings. This never gets old, always blows my mind. Looks like a scifi movie. 😃
@lyse That was great! 😃 Now I need to go back and watch the other videos by that guy. 😅
@lyse That was great! 😃 Now I need to go back and watch the other videos by that guy. 😅
@lyse That was great! 😃 Now I need to go back and watch the other videos by that guy. 😅
@lyse That was great! 😃 Now I need to go back and watch the other videos by that guy. 😅