summaryrefslogtreecommitdiff
path: root/Meta/Websites
diff options
context:
space:
mode:
Diffstat (limited to 'Meta/Websites')
-rw-r--r--Meta/Websites/serenityos.org/banner2.pngbin0 -> 164104 bytes
-rw-r--r--Meta/Websites/serenityos.org/bounty/index.html2
-rw-r--r--Meta/Websites/serenityos.org/faq/index.html44
-rw-r--r--Meta/Websites/serenityos.org/github-sponsors/index.html29
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2020-12-06.pngbin0 -> 71799 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2020-12-17.pngbin0 -> 18775 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2020-12-28.pngbin0 -> 25913 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-01-06.pngbin0 -> 122541 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-01-08.pngbin0 -> 30051 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-01-22.pngbin0 -> 17001 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-02-16.pngbin0 -> 976223 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-02-18.pngbin0 -> 105179 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-02-20.pngbin0 -> 62645 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-03-06.pngbin0 -> 1364281 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-03-25.pngbin0 -> 45451 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-03-29.pngbin0 -> 596095 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-04-03.pngbin0 -> 24768 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-04-10.pngbin0 -> 173811 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-05-16-2.pngbin0 -> 76370 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-05-16.pngbin0 -> 27155 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-05-20.pngbin0 -> 123938 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-05-22.pngbin0 -> 31358 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-07-20.pngbin0 -> 365099 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-07-26.pngbin0 -> 740399 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-08-02.pngbin0 -> 111856 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-08-10.pngbin0 -> 244065 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-08-29.pngbin0 -> 124401 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-09-12.pngbin0 -> 85063 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-09-19.pngbin0 -> 37659 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/2021-10-02.pngbin0 -> 39311 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/arstechnica.pngbin0 -> 300382 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/bgianf.jpgbin0 -> 31402 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/idanho.jpgbin0 -> 73609 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/index.html622
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/linusg.pngbin0 -> 63326 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/usermap.pngbin0 -> 200420 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/x86_64.pngbin0 -> 8378 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/yakbait.pngbin0 -> 11650 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/yakoverflow.pngbin0 -> 14399 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/3rd/yakstack.pngbin0 -> 11488 bytes
-rw-r--r--Meta/Websites/serenityos.org/index.html9
41 files changed, 656 insertions, 50 deletions
diff --git a/Meta/Websites/serenityos.org/banner2.png b/Meta/Websites/serenityos.org/banner2.png
new file mode 100644
index 0000000000..9f49c664fe
--- /dev/null
+++ b/Meta/Websites/serenityos.org/banner2.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/bounty/index.html b/Meta/Websites/serenityos.org/bounty/index.html
index 24d107d683..3b3fc0c9de 100644
--- a/Meta/Websites/serenityos.org/bounty/index.html
+++ b/Meta/Websites/serenityos.org/bounty/index.html
@@ -31,7 +31,7 @@
exploit and showing what the bug was, and how I fix it.
</p>
<p>
- To claim a reward, get in touch with me either on IRC (<b>kling</b> on Freenode) or via <b>kling@serenityos.org</b>
+ To claim a reward, get in touch with me either on the <a href="https://discord.gg/serenityos">SerenityOS Discord</a> (<b>awesomekling</b>) or via <b>kling@serenityos.org</b>
</p>
<p><b>Past exploits:</b></p>
<ul>
diff --git a/Meta/Websites/serenityos.org/faq/index.html b/Meta/Websites/serenityos.org/faq/index.html
index 72edd24966..30801480f4 100644
--- a/Meta/Websites/serenityos.org/faq/index.html
+++ b/Meta/Websites/serenityos.org/faq/index.html
@@ -1,43 +1,9 @@
<html>
-<head><title>SerenityOS FAQ</title></head>
+<head>
+ <meta http-equiv="refresh" content="1;https://github.com/SerenityOS/serenity/blob/master/Documentation/FAQ.md">
+ <title>SerenityOS FAQ</title>
+</head>
<body>
-<h1>Frequently Asked Questions about SerenityOS</h1>
-
-<p>
-<b>Will SerenityOS support $THING?</b>
-<br><br>
-Maybe. Maybe not. There is no plan.
-</p>
-
-<p>
-<b>Will you implement $THING?</b>
-<br><br>
-Maybe. Maybe not. But you can do it yourself!
-</p>
-
-<p>
-<b>Where are the ISO images?</b>
-<br><br>
-There are no ISO images. This project does not cater to non-technical users.
-</p>
-
-<p>
-<b>I did a <code>git pull</code> and now the build is broken! What do I do?</b>
-<br><br>
-If it builds on CI, it should build for you too. You may need to rebuild the toolchain. If that doesn't help, try it with a clean repo.
-</p>
-
-<p>
-<b>Why don't you use $LIBRARY instead of implementing $FEATURE yourself?</b>
-<br><br>
-The SerenityOS project tries to maximize hackability, accountability, and fun(!) by implementing everything ourselves.
-</p>
-
-<p>
-<b>Hey Andreas, have you thought about live-streaming?</b>
-<br><br>
-Yes. I prefer the highly focused and uninterrupted format of videos.
-</p>
-
+ <a href="https://github.com/SerenityOS/serenity/blob/master/Documentation/FAQ.md">SerenityOS FAQ</a>
</body>
</html>
diff --git a/Meta/Websites/serenityos.org/github-sponsors/index.html b/Meta/Websites/serenityos.org/github-sponsors/index.html
index b0bf0a0ec1..3b496816db 100644
--- a/Meta/Websites/serenityos.org/github-sponsors/index.html
+++ b/Meta/Websites/serenityos.org/github-sponsors/index.html
@@ -1,23 +1,36 @@
<html>
-<head><title>Sponsor SerenityOS on GitHub!</title></head>
+<head>
+ <title>Sponsor SerenityOS on GitHub!</title>
+<style>
+.pinkbar {
+ padding: 4;
+ background-color: #ea4aaa;
+ text-align: center;
+ color: white;
+}
+.pinkbar a:link {
+ color: white;
+}
+</style>
+</head>
<body>
<center>
<h1>Sponsor SerenityOS on GitHub!</h1>
<img src="mona.png"><br>
-<div style="margin-left: auto; margin-right: auto; width: 400; text-align: left;">
+<div style="margin-left: auto; margin-right: auto; width: 440; text-align: left;">
<p><blink><b>Hello friends!</b></blink></p>
<p>As of October 19 2019, I am in the <a href="https://github.com/sponsors/awesomekling/">GitHub Sponsors program</a>!</p>
<p>This means you can support my work with a monthly donation via their platform.</p>
<p>There are six tiers: <b>$1</b>, <b>$5</b>, <b>$10</b>, <b>$20</b>, <b>$50</b> and <b>$100</b>.</p>
-<p>Sponsorships are (optionally) visible on your GitHub user card, and GitHub will <a href="https://help.github.com/en/articles/about-github-sponsors#about-the-github-sponsors-matching-fund">match all donations 1:1 for the first year</a>.</p>
+<p>Sponsorships are (optionally) visible on your GitHub user card.</p>
<p>I will remain on <a href="https://patreon.com/serenityos">Patreon</a> as well, with the same tiers.</p>
<p>Thank you for checking it out :^)</p>
-<p style="padding-top: 4; padding-bottom: 4; padding-left: 4; padding-right: 4; background-color: #ea4aaa; text-align: center;"><b>Andreas</b>
+<p class="pinkbar"><b>Andreas</b>
(
- <a href="https://github.com/awesomekling">GitHub</a> |
- <a href="https://youtube.com/c/AndreasKling">YouTube</a> |
- <a href="https://twitter.com/awesomekling">Twitter</a> |
- <a href="https://patreon.com/serenityos">Patreon</a> |
+ <a href="https://github.com/awesomekling">GitHub</a> |
+ <a href="https://youtube.com/c/AndreasKling">YouTube</a> |
+ <a href="https://twitter.com/awesomekling">Twitter</a> |
+ <a href="https://patreon.com/serenityos">Patreon</a> |
<a href="https://paypal.me/awesomekling">PayPal</a> )
</p>
</div>
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2020-12-06.png b/Meta/Websites/serenityos.org/happy/3rd/2020-12-06.png
new file mode 100644
index 0000000000..78e06d3c9f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2020-12-06.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2020-12-17.png b/Meta/Websites/serenityos.org/happy/3rd/2020-12-17.png
new file mode 100644
index 0000000000..b0be305a63
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2020-12-17.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2020-12-28.png b/Meta/Websites/serenityos.org/happy/3rd/2020-12-28.png
new file mode 100644
index 0000000000..d67534af1d
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2020-12-28.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-01-06.png b/Meta/Websites/serenityos.org/happy/3rd/2021-01-06.png
new file mode 100644
index 0000000000..0d782863d3
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-01-06.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-01-08.png b/Meta/Websites/serenityos.org/happy/3rd/2021-01-08.png
new file mode 100644
index 0000000000..4ea88a18e1
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-01-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-01-22.png b/Meta/Websites/serenityos.org/happy/3rd/2021-01-22.png
new file mode 100644
index 0000000000..a0c4701143
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-01-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-02-16.png b/Meta/Websites/serenityos.org/happy/3rd/2021-02-16.png
new file mode 100644
index 0000000000..88e6dfe9fe
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-02-16.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-02-18.png b/Meta/Websites/serenityos.org/happy/3rd/2021-02-18.png
new file mode 100644
index 0000000000..43cfe11909
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-02-18.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-02-20.png b/Meta/Websites/serenityos.org/happy/3rd/2021-02-20.png
new file mode 100644
index 0000000000..5c1377d189
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-02-20.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-03-06.png b/Meta/Websites/serenityos.org/happy/3rd/2021-03-06.png
new file mode 100644
index 0000000000..3c03cf6e57
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-03-06.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-03-25.png b/Meta/Websites/serenityos.org/happy/3rd/2021-03-25.png
new file mode 100644
index 0000000000..16f91ce410
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-03-25.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-03-29.png b/Meta/Websites/serenityos.org/happy/3rd/2021-03-29.png
new file mode 100644
index 0000000000..0243355a55
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-03-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-04-03.png b/Meta/Websites/serenityos.org/happy/3rd/2021-04-03.png
new file mode 100644
index 0000000000..a1f30d4a72
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-04-03.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-04-10.png b/Meta/Websites/serenityos.org/happy/3rd/2021-04-10.png
new file mode 100644
index 0000000000..151dc6e6bf
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-04-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-05-16-2.png b/Meta/Websites/serenityos.org/happy/3rd/2021-05-16-2.png
new file mode 100644
index 0000000000..b80fd050f3
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-16-2.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-05-16.png b/Meta/Websites/serenityos.org/happy/3rd/2021-05-16.png
new file mode 100644
index 0000000000..9c2d7a6d0d
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-16.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-05-20.png b/Meta/Websites/serenityos.org/happy/3rd/2021-05-20.png
new file mode 100644
index 0000000000..2c53c20362
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-20.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-05-22.png b/Meta/Websites/serenityos.org/happy/3rd/2021-05-22.png
new file mode 100644
index 0000000000..02e5dc9f00
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-07-20.png b/Meta/Websites/serenityos.org/happy/3rd/2021-07-20.png
new file mode 100644
index 0000000000..88a48687ce
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-07-20.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-07-26.png b/Meta/Websites/serenityos.org/happy/3rd/2021-07-26.png
new file mode 100644
index 0000000000..54730dc4e5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-07-26.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-08-02.png b/Meta/Websites/serenityos.org/happy/3rd/2021-08-02.png
new file mode 100644
index 0000000000..3572653d23
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-08-02.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-08-10.png b/Meta/Websites/serenityos.org/happy/3rd/2021-08-10.png
new file mode 100644
index 0000000000..819808f791
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-08-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-08-29.png b/Meta/Websites/serenityos.org/happy/3rd/2021-08-29.png
new file mode 100644
index 0000000000..b118a69015
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-08-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-09-12.png b/Meta/Websites/serenityos.org/happy/3rd/2021-09-12.png
new file mode 100644
index 0000000000..2d77a0acb6
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-09-12.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-09-19.png b/Meta/Websites/serenityos.org/happy/3rd/2021-09-19.png
new file mode 100644
index 0000000000..5732926d5b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-09-19.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-10-02.png b/Meta/Websites/serenityos.org/happy/3rd/2021-10-02.png
new file mode 100644
index 0000000000..881c06a157
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/2021-10-02.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/arstechnica.png b/Meta/Websites/serenityos.org/happy/3rd/arstechnica.png
new file mode 100644
index 0000000000..5a1ed371dd
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/arstechnica.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/bgianf.jpg b/Meta/Websites/serenityos.org/happy/3rd/bgianf.jpg
new file mode 100644
index 0000000000..23927fb9f1
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/bgianf.jpg
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/idanho.jpg b/Meta/Websites/serenityos.org/happy/3rd/idanho.jpg
new file mode 100644
index 0000000000..effe39db4b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/idanho.jpg
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/index.html b/Meta/Websites/serenityos.org/happy/3rd/index.html
new file mode 100644
index 0000000000..0b2c5ceec2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/index.html
@@ -0,0 +1,622 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>SerenityOS: Year 3 in review</title>
+ <style>
+ body {
+ margin-left: auto;
+ margin-right: auto;
+ width: 600px;
+ font-size: 12pt;
+ font-family: sans-serif;
+ }
+ @media screen and (max-width: 610px) {
+ header h1 {
+ margin: 0;
+ }
+ body {
+ margin-top: none;
+ width: 100%;
+ }
+ }
+ @media screen and (min-width: 610px) {
+ article, h1, h2 {
+ border-radius: 10px;
+ }
+ }
+
+ @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2) {
+ body {
+ width: 90%;
+ font-size: 1.4em;
+ }
+
+ }
+
+ h1, h2 {
+ padding: 12px;
+ background: #000;
+ color: white;
+ }
+ article h1 {
+ font-size: 1.1em;
+ vertical-align: middle;
+ margin: 0;
+ }
+ article h1 :link,
+ article h1 :visited {
+ color: white;
+ }
+ article img,
+ article iframe {
+ max-width: 100%;
+ border: 1px solid black;
+ }
+ article img.avatar {
+ width: 64px;
+ float: right;
+ border: none;
+ margin-bottom: 8px;
+ }
+ article {
+ padding: 20px;
+ margin-bottom: 20px;
+ background: #ddd;
+ }
+ article.developer {
+ background: #ddf;
+ font-style: italic;
+ }
+ article iframe {
+ border: 1px solid black;
+ }
+ article.hax0r {
+ background: black;
+ font-family: monaco;
+ }
+ article.hax0r,
+ article.hax0r h1,
+ article.hax0r :link,
+ article.hax0r :visited {
+ color: lime;
+ }
+ article.hax0r h1 {
+ background: #040;
+ }
+ .yakstack {
+ height: 96px;
+ margin-left: 32px;
+ float: right;
+ }
+ </style>
+ </head>
+ <body>
+ <header>
+ <h1>SerenityOS: Year 3 in review</h1>
+ </header>
+ <main>
+ <img class="yakstack" src="yakstack.png">
+
+ <p><b>Hello friends! :^)</b>
+
+ <p>Today we celebrate the third birthday of SerenityOS, counting from the first commit in the
+ <a href="https://github.com/SerenityOS/serenity/">git repository</a>, on October 10, 2018.
+
+ <p>Previous birthdays: <a href="https://serenityos.org/happy/1st">1st</a>, <a href="https://serenityos.org/happy/2nd">2nd</a>.
+
+ <p>What follows is a list of interesting events from the past year, mixed with random development
+ screenshots and also reflections from other developers in the SerenityOS community.
+
+ <article>
+ <h1>Introduction to SerenityOS</h1>
+
+ <p>SerenityOS is a from-scratch desktop operating system that combines a Unix-like core
+ with the look&amp;feel of 1990s productivity software. It's written in modern C++ and
+ goes all the way from kernel to web browser. The project aims to build everything in-house
+ instead of relying on third-party libraries.
+
+ <p>I started building this system after
+ <a href="https://www.youtube.com/watch?v=j3JkNGKZtqM">finishing a 3-month rehabilitation program for drug addiction</a>
+ in 2018. I found myself with a lot of time and nothing to spend it on. So I began
+ building something I'd always wanted to build: my very own dream OS.
+
+ <p>Parts of my development work is presented in screencast format on
+ <a href="https://youtube.com/andreaskling">my YouTube channel</a>.
+ I also post monthly update videos showcasing new features there.
+ </article>
+
+ <article>
+ <h1>2020-12-06: Working on Reddit support in LibWeb</h1>
+
+ <p>Building a browser takes time, and there's a lot of unglamorous
+ work like figuring out why things don't align right. Fortunately it's
+ also really fun!
+
+ <p><img src="2020-12-06.png">
+ </article>
+
+ <article>
+ <h1>2020-12-20: Interview on CppCast</h1>
+
+ <p>I went on the <a href="https://cppcast.com">CppCast</a> podcast with <a href="https://twitter.com/lefticus">Jason Turner</a>
+ and <a href="https://twitter.com/robwirving">Rob Irving</a> to talk about SerenityOS.
+
+ <p>It was my first time doing an interview and I was really nervous about it,
+ but it turned out very okay!
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/SRq9HSGn2qE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ </article>
+
+ <article class="hax0r">
+ <h1>2020-12-20: The 2020 HXP CTF</h1>
+ <p>
+ SerenityOS was once again featured in the <a href="https://ctf.link/">HXP CTF</a>.
+ After being in their 2019 CTF, we spent a whole bunch of time beefing up system security,
+ and it definitely helped: This time, only 1 team was able to find an exploit,
+ compared to 6 teams in the previous CTF!
+ <p>
+ Write-ups &amp; exploits from the event:
+ <ul>
+ <li><a href="https://hxp.io/blog/79/hxp-CTF-2020-wisdom2/"><b>yyyyyyy</b> found a kernel LPE due to a race condition between execve() and ptrace()</a></li>
+ <li><a href="https://github.com/allesctf/writeups/blob/master/2020/hxpctf/wisdom2/writeup.md"><b>ALLES! CTF</b> found a kernel LPE due to missing EFLAGS validation in ptrace().</a></li>
+ </ul>
+ </article>
+
+ <article>
+ <h1>2021-01-06: Reading "Hackles" on SerenityOS</h1>
+
+ <p>I was very happy to get the classic Unix geek webcomic
+ <a href="http://hackles.org">Hackles</a> working in Browser.
+
+ <p><img src="2021-01-06.png">
+ </article>
+
+ <article>
+ <h1>2021-01-10: LiveOverflow videos about SerenityOS</h1>
+ <p>At the start of 2021, hacking YouTuber LiveOverflow published
+ a series of videos about SerenityOS, looking into exploits against
+ the system.
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/qUh507Na9nk" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ <p>All SerenityOS related videos from LiveOverflow:
+ <ul>
+ <li><a href="https://youtube.com/watch?v=qUh507Na9nk">Kernel Root Exploit via a ptrace() and execve() Race Condition</a></li>
+ <li><a href="https://youtube.com/watch?v=oIAP1_NrSbY">Reading Kernel Source Code - Analysis of an Exploit</a></li>
+ <li><a href="https://youtube.com/watch?v=1hpqiWKFGQs">How CPUs Access Hardware - Another SerenityOS Exploit</a></li>
+ </ul>
+ </article>
+
+ <article class="hax0r">
+ <h1>2021-02-11: vakzz's full chain exploit</h1>
+ <p><a href="https://twitter.com/wcbowling">William Bowling (vakzz)</a> released
+ the first ever full chain exploit for SerenityOS, combining a browser bug and
+ a kernel bug to get remote root access via opening a web page!
+
+ <p>Check out vakzz's <a href="https://devcraft.io/2021/02/11/serenityos-writing-a-full-chain-exploit.html">excellent write-up</a>
+ for a step-by-step walthrough.
+
+ </article>
+
+ <article>
+ <h1>2021-02-13: SerenityOS developer interview: Linus Groh</h1>
+
+ <p>I wanted to introduce my YouTube audience to more of the SerenityOS
+ developer community, and Linus became the first guest in my developer
+ interview series!
+
+ <p>It was really nice to shine a light on someone else doing great work on the project.
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/oG8RSX1hyCg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ </article>
+
+ <article class="developer">
+ <h1>
+ Developer reflections: <a href="https://twitter.com/linusgroh">Linus Groh</a>
+ <img class="avatar nolinkify" src="linusg.png">
+ </h1>
+
+ <p>One of my favorite aspects of the past year of SerenityOS development
+ is the overall progress on the browser! There's still a ton of work to
+ do, but we're starting to get more and more websites into a recognizable
+ shape - compared to a year ago, the number of blank pages and crashes
+ on load is reduced considerably.
+
+ <p>It's also one of the most collaborative subsystems: everything from
+ improving spec compliance in our JavaScript engine and adding some
+ basic optimizations to implementing countless Web APIs, and continuous
+ work on CSS and DOM has been a team effort. It's great to see everyone
+ get comfortable, explore, and eventually become experts in their
+ favorite topics of browser and JS engine development!
+
+ <p>It's been so much fun building all these things together, and I'm
+ excited to see how far we can get in another year :^)
+ </article>
+
+
+ <article>
+ <h1>2021-03-06: Classic game "port": Diablo</h1>
+
+ <p>DevilutionX is a reverse engineered "port" of the classic game Diablo.
+ I ported it to SerenityOS and captured the process in a video.
+ To date, this is my most viewed video and thousands of people discovered
+ the project through this video.
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/ZOzZ8R4gphE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+
+ <p>I also finally beat the game!
+
+ <p><img src="2021-03-06.png">
+ </article>
+
+ <article>
+ <h1>2021-04-01: A new direction for the project</h1>
+
+ <p>On April 1st, I posted a video announcing a new visual and spiritual direction
+ for the SerenityOS project. Most people got the joke :^)
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/a-WXzLKv_rc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ </article>
+
+ <article>
+ <h1>
+ 2021-04-10: Opening a SerenityOS Discord server
+ <img class="avatar nolinkify" src="yakbait.png">
+ </h1>
+
+ <p>We decided to try out Discord after seeing how it was used to great effect
+ in the <a href="https://ziglang.org">Zig language</a> community.
+
+ <p>It's been a huge success! While our IRC channel peaked at about 170 users,
+ we've got well over 4000 members on Discord, and it's helped us reach new
+ levels of collaboration that were simply not possible with IRC.
+
+ <p>It has also spawned an extremely nerdy culture of <a href="https://github.com/kleinesfilmroellchen/yaksplained">yak-related memes</a>.
+
+ <p><img src="2021-04-10.png">
+ </article>
+
+ <article>
+ <h1>2021-04-18: Interviewed on "Systems with JT"</h1>
+
+ <p>Programming language wizard <a href="https://twitter.com/jntrnr">JT</a> invited me for an live interview
+ about SerenityOS and everything around it. It was my first live interview, and I was kinda nervous
+ but I think it went well!
+
+ <p>JT also did a <a href="https://www.youtube.com/watch?v=TtV86uL5oD4">heartwarming video review</a> of SerenityOS back around Christmas.
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/5h8bo9OxCwI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ </article>
+
+ <article>
+ <h1>2021-04-26: More project maintainers</h1>
+
+ <p>In the interview with JT, one of the things that came up was my own
+ scalability as a project maintainer. Up until this point I had been doing
+ all the PR review and merging myself.
+
+ <p>After talking about it with JT, I realized that I needed to ask for
+ some help from a handful of trusted contributors. It was scary to give up
+ a bit of control, but in retrospect it's one of the best decisions I've made. :^)
+
+ <p>At the time of writing, we now have five maintainers in addition to myself (in alphabetical order):
+ <ul>
+ <li><a href="https://twitter.com/the_semicolon_">Ali Mohammadpur</a></li>
+ <li><a href="https://twitter.com/bgianf">Brian Gianforcaro</a></li>
+ <li><a href="https://twitter.com/gunnarbeutner">Gunnar Beutner</a></li>
+ <li><a href="https://twitter.com/horowitz_idan">Idan Horowitz</a></li>
+ <li><a href="https://twitter.com/linusgroh">Linus Groh</a></li>
+ </ul>
+
+ <p>They each bring their own expertise and passion to the project, and they've been doing a great job
+ at keeping the project moving forward while growing.
+ </article>
+
+ <article>
+ <h1>2021-05-16: Some GUI face-lifts</h1>
+
+ <p>Sometimes I like to pick out a part of the GUI that is particularly weak
+ and spend some time on improving it. Here I was working on the PixelPaint
+ application, and also the system shutdown dialog.
+
+ <p><img src="2021-05-16.png">
+ <p><img src="2021-05-16-2.png">
+ </article>
+
+ <article>
+ <h1>2021-05-27: Linus gets on GitHub Sponsors</h1>
+
+ <p>Linus becomes the second person to accept <a href="https://github.com/sponsors/linusg">sponsorships</a>
+ for his SerenityOS work. More people getting sponsored to work on SerenityOS is super cool!
+ </article>
+
+ <article>
+ <h1>2021-05-28: I quit my job to work on SerenityOS full time!</h1>
+ <p>As of May of 2021, I'm receiving enough in donations to be able to support
+ myself while working full-time on SerenityOS!
+
+ I wrote a <a href="https://awesomekling.github.io/I-quit-my-job-to-focus-on-SerenityOS-full-time/">blog post about it here</a> and people were very
+ <a href="https://www.osnews.com/story/133492/serenityos-founder-and-main-developer-goes-full-time-for-serenityos/">supportive</a>
+ <a href="https://news.ycombinator.com/item?id=27317655">around</a>
+ <a href="https://www.reddit.com/r/SerenityOS/comments/nn1id7/i_quit_my_job_to_focus_on_serenityos_full_time/">the</a>
+ <a href="https://lobste.rs/s/lsumm4/i_quit_my_job_focus_on_serenityos_full_time">web</a>.
+
+ <p>I'm extremely grateful for all the support, and it's super exciting to be
+ able to focus on this full time! Massive thanks to everyone who has supported
+ me over the years! If you would like to help me out as well, check out
+ the links at the bottom of this page.
+ </article>
+
+ <article>
+ <h1>2021-06-12: Interview on Zig SHOWTIME!</h1>
+
+ <p>I was a guest on the <a href="https://zig.show/">Zig SHOWTIME</a> variety show
+ from the <a href="https://ziglang.org">Zig language</a> community. The theme was
+ "tech, taste and soul" and the interview lasted almost 3 hours. Exhausting but fun!
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/e_hCJI__q_4" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ </article>
+
+ <article>
+ <h1>2021-06-30: 64-bit mode activated!</h1>
+
+ <p>Up until this point, SerenityOS was a 32-bit x86-only system. Then came x86_64,
+ much thanks to the hard work of <a href="https://twitter.com/gunnarbeutner">Gunnar Beutner</a>
+ who decided that the port was <i>going to happen</i>, and then didn't stop until it was up and running!
+
+ <p><img src="x86_64.png">
+ </article>
+
+ <article class="developer">
+ <h1>
+ Developer reflections: <a href="https://twitter.com/bgianf">Brian Gianforcaro</a>
+ <img class="avatar nolinkify" src="bgianf.jpg">
+ </h1>
+
+ <p>The past year of Serenity development has been super exciting! One of my favorite things
+ to happen was the bring up of the x86_64 Kernel. Andreas started making baby steps in Feb 2021,
+ followed by others contributing additional fixes, until around Jun 2021 when
+ <a href="https://twitter.com/gunnarbeutner">Gunnar Beutner</a> started contributing tons
+ of patches and with the help of many others got the system booting and running on x86_64.
+ In my mind this was a significant symbolic step for the project and the community, onboarding
+ another architecture makes the system a bit more real in my mind.
+
+ <p>From the community perspective I found it very inspiring how Gunnar just took the lead and
+ started fixing issues left and right. The community saw the momentum and started working
+ on fixes as well, and everyone together got the system running.
+
+ <p>I wish Andreas, the SerenityOS project and community, continued success and here's hoping
+ for another fruitful year of fun and progress. With the
+ <a href="https://github.com/SerenityOS/serenity/pull/10276">nascent aarch64 port</a> under way by
+ <a href="https://twitter.com/thakis">Nico Weber</a>, and the countless other exciting things
+ folks are working on, I'm excited to see what the next year has in store! :^)
+ </article>
+
+
+ <article>
+ <h1>2021-07-08: SerenityOS Office Hours</h1>
+
+ <p>After an interesting back &amp; forth "discussion" with my YouTube audience
+ that started with the question "Am I losing touch with the audience?",
+ I decided to put some serious effort into connecting with the audience.
+
+ <p>After some experimentation, I finally arrived at the <b>SerenityOS Office Hours</b>
+ format. This is a weekly Q&amp;A livestream that I do every Friday at 4pm Swedish Time.
+ People are invited to ask any technical or non-technical question about SerenityOS
+ and we dig into whatever topics come up. It has been well-received and I've really
+ enjoyed being able to answer questions interactively!
+
+ <p>Check out my <a href="https://www.youtube.com/playlist?list=PLMOpZvQB55bf4FjluKyo01ZnXq75SaU5L">stream archive</a>
+ on YouTube. (And come say hi when I'm live some time!)
+
+ </article>
+
+ <article>
+ <h1>2021-07-08: A world map of SerenityOS hackers</h1>
+
+ <p>Linus created a <a href="https://usermap.serenityos.org/">collaborative map</a>
+ of SerenityOS developers &amp; users around the world.
+
+ <p><a href="https://usermap.serenityos.org"><img src="usermap.png"></a>
+ </article>
+
+ <article>
+ <h1>2021-07-20: TrueType renderer improvements</h1>
+
+ <p>While I'm a big fan of bitmap fonts personally, I did spend some time working
+ on our TrueType renderer, fixing up things like vertical alignment and glyph sizes.
+
+ <p>I also did some work to support the <b style="font-family: Tahoma, sans-serif">Microsoft Tahoma</b>
+ and <b style="font-family: 'JetBrains Mono', sans-serif">JetBrains Mono</b> typefaces,
+ seen in this screenshot!
+
+ <p><img src="2021-07-20.png">
+ </article>
+
+ <article>
+ <h1>2021-07-26: Building a "Settings" app</h1>
+
+ <p>Until this point, all the various settings dialogs were scattered
+ around the system menu. I decided it was time to collect them in a
+ simple Settings application instead. I think it turned out quite nice!
+
+ <p><img src="2021-07-26.png">
+ </article>
+
+ <article>
+ <h1>2021-07-26: SerenityOS developer interview: Ali Mohammadpur</h1>
+
+ <p>I did another developer interview video! This time with Ali,
+ who is behind many of the subsystems in Serenity (including TLS,
+ line editing, the spreadsheet, and more!)
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/BL5h6XEIusQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ </article>
+
+ <article>
+ <h1>2021-08-10: Working on multi-core stability</h1>
+
+ <p>Multi-core support is still immature in SerenityOS, but we have been making some
+ strides forward in this area. In this screenshot, I'm successfully running <b>Quake II</b>
+ using 2 CPU's simultaneously.
+
+ <p><img src="2021-08-10.png">
+ </article>
+
+ <article>
+ <h1>2021-08-18: ArsTechnica reviews SerenityOS</h1>
+ <p>In mid-August, ArsTechnica ran a <a href="https://arstechnica.com/gadgets/2021/08/not-a-linux-distro-review-serenityos-is-a-unix-y-love-letter-to-the-90s/">feature article on SerenityOS</a>.
+ This came out of nowhere and was a lot of fun!
+ <p><a href="https://arstechnica.com/gadgets/2021/08/not-a-linux-distro-review-serenityos-is-a-unix-y-love-letter-to-the-90s/"><img class="nolinkify" src="arstechnica.png"></a>
+ </article>
+
+ <article>
+ <h1>2021-08-29: Showing SerenityOS to my nephew</h1>
+
+ <p>My nephew called me on Skype while I was hacking on something, and I asked
+ if he wanted a tour of the operating system. He said yes, and I got this sweet
+ screenshot of him excitedly seeing me beat our Breakout game!
+
+ <p><img src="2021-08-29.png">
+ </article>
+
+ <article>
+ <h1>2021-09-12: 500 contributors on GitHub!</h1>
+
+ <p>It's wild how many people have <a href="https://github.com/SerenityOS/serenity/graphs/contributors">contributed</a>
+ to the project at this point!
+
+ <p><img src="2021-09-12.png">
+ </article>
+
+ <article>
+ <h1>2021-09-18: Linus Groh interviewed on CppCast</h1>
+
+ <p>It's been so cool to see <a href="https://linus.dev/posts/my-journey-with-serenityos/">Linus's journey with SerenityOS</a>,
+ from not knowing C++ at all 18 months ago, to being interviewed on a major C++ podcast.
+
+ <center><iframe width="560" height="315" data-src="https://www.youtube.com/embed/YLN0A9hziKQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center>
+ </article>
+
+ <article>
+ <h1>2021-09-19: Reading the HTML spec</h1>
+
+ <p>It's a pretty cool milestone when your browser engine is strong enough
+ to download and display the HTML spec itself.
+
+ <p><img src="2021-09-19.png">
+ </article>
+
+ <article class="developer">
+ <h1>
+ Developer reflections: <a href="https://twitter.com/horowitz_idan">Idan Horowitz</a>
+ <img class="avatar nolinkify" src="idanho.jpg">
+ </h1>
+
+ <p>One of the main subprojects in LibJS that was being worked on in 2021 was support for
+ the stage 3 <a href="https://github.com/tc39/proposal-temporal">Temporal proposal</a>,
+ which aims to replace the old and awkward <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date API</a>
+ with a more modern, unified and fully-featured interface.
+
+ <p>As a result of the efforts of many contributors (with some of the most notable ones
+ being <a href="https://twitter.com/linusgroh">Linus Groh</a>
+ and <a href="https://github.com/Lubrsi">Luke Wilde</a>) Serenity's
+ LibJS contains the most fleshed out Temporal implementation out of all the popular Javascript engines.
+
+ </article>
+
+ <article>
+ <h1>2021-10-02: Browser performance work</h1>
+
+ <p>Lately I've been doing a ton of work on browser performance, trying to
+ bring it to a point where it can display complex pages in a somewhat reasonable
+ time.
+
+ <p>Here I am using Profiler to examine what appears to be memory allocation
+ performance in our regular expression engine.
+
+ <p>The profiling system has matured quite a bit during the last year. It now
+ has the ability to capture full-system profiles, and we've got more visualizations
+ to aid in performance analysis. :^)
+
+ <p><img src="2021-10-02.png">
+ </article>
+
+ <article>
+ <h1>Monthly update videos</h1>
+
+ <p>The tradition of the monthly SerenityOS update video is alive and well,
+ ever since my first-ever update video in March 2019.
+
+ <p>Something new this year is that for the last couple of videos, I've been
+ joined by Linus in the videos. The sheer amount of things happening month-to-month
+ was getting hard to cover by myself, and it's great to share the stage with
+ someone else who cares deeply about the project as well.
+
+ <p><ul>
+ <li><a href="https://www.youtube.com/watch?v=L-IFGxw-kV4">SerenityOS update (October 2020)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=AYZ1Wqb9p2w">SerenityOS update (November 2020)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=7aof37-uCRE">SerenityOS update (December 2020)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=Arfy5iX0wgI">SerenityOS update (January 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=M81Hy5UP2nA">SerenityOS update (February 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=2OdYWoXIVd0">SerenityOS update (March 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=KehSJ_fdTxU">SerenityOS update (April 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=O3MtPgTUOC8">SerenityOS update (May 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=QI3o2G8MPbQ">SerenityOS update (June 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=nUCpt6F5q-s">SerenityOS update (July 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=GT2SO-X2Wik">SerenityOS update (August 2021)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=y4bsO4E0G38">SerenityOS update (September 2021)</a></li>
+ </ul>
+
+ <p>Check out the <a href="https://www.youtube.com/playlist?list=PLMOpZvQB55bfp6ykOLayLqLrjcpv_Sw3P">playlist on YouTube</a>
+ for the full archive!
+ </article>
+ </main>
+
+ <footer>
+ <h2>Thanks</h2>
+
+ <p>To all the awesome people who have particpated in the last year, writing code,
+ bug reports, documentation, commenting/liking/sharing my videos, sending letters,
+ chilling on Discord, coming to the Office Hours livestreams, telling your friends,
+ etc, thank you all!
+
+ <p>I'm unbelievably grateful for all the love and support this project receives!
+
+ <p>And also, a huge <b>thank you!</b> to everyone who has supported me via
+ <a href="https://github.com/sponsors/awesomekling">GitHub Sponsors</a>,
+ <a href="https://patreon.com/serenityos">Patreon</a>,
+ and <a href="https://paypal.me/awesomekling">PayPal</a>. Thanks to you, I'm able
+ to do this full time and I'm excited to see where we can push this project!
+
+ <p>All right, let's keep moving forward into year number 4!
+
+ <p><i>Andreas Kling, 2021-10-10</i>
+ <br><a href="https://github.com/awesomekling">GitHub</a> |
+ <a href="https://youtube.com/c/AndreasKling">YouTube</a> |
+ <a href="https://twitter.com/awesomekling">Twitter</a> |
+ <a href="https://patreon.com/serenityos">Patreon</a> |
+ <a href="https://paypal.me/awesomekling">PayPal</a> |
+ <a href="https://store.serenityos.org">Store</a>
+
+ <br><br>
+ </footer>
+ <script>
+ // Don't insert YouTube iframes on serenity, since we can't play the videos yet anyway.
+ if (navigator.platform != "SerenityOS") {
+ for (let iframe of document.getElementsByTagName("iframe")) {
+ iframe.setAttribute("src", iframe.getAttribute("data-src"));
+ }
+ }
+
+ // Linkify <img> elements without the 'nolinkify' class.
+ for (let img of document.querySelectorAll("article img:not(.nolinkify)")) {
+ let a = document.createElement("a");
+ a.href = img.src;
+ img.parentNode.replaceChild(a, img);
+ a.appendChild(img);
+ }
+
+ let stack = document.getElementsByClassName("yakstack")[0];
+ stack.onmousedown = function() { stack.src = "yakoverflow.png"; }
+ </script>
+ </body>
+</html>
diff --git a/Meta/Websites/serenityos.org/happy/3rd/linusg.png b/Meta/Websites/serenityos.org/happy/3rd/linusg.png
new file mode 100644
index 0000000000..12f30e8279
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/linusg.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/usermap.png b/Meta/Websites/serenityos.org/happy/3rd/usermap.png
new file mode 100644
index 0000000000..be52c6283f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/usermap.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/x86_64.png b/Meta/Websites/serenityos.org/happy/3rd/x86_64.png
new file mode 100644
index 0000000000..1456ede5d1
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/x86_64.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/yakbait.png b/Meta/Websites/serenityos.org/happy/3rd/yakbait.png
new file mode 100644
index 0000000000..b519c8045d
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/yakbait.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/yakoverflow.png b/Meta/Websites/serenityos.org/happy/3rd/yakoverflow.png
new file mode 100644
index 0000000000..b5e2cb4fc9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/yakoverflow.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/3rd/yakstack.png b/Meta/Websites/serenityos.org/happy/3rd/yakstack.png
new file mode 100644
index 0000000000..45dee00628
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/3rd/yakstack.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/index.html b/Meta/Websites/serenityos.org/index.html
index 862ead40a0..5f63e5997e 100644
--- a/Meta/Websites/serenityos.org/index.html
+++ b/Meta/Websites/serenityos.org/index.html
@@ -7,7 +7,7 @@
</style>
</head>
<body>
-<img src="banner.png" alt="SerenityOS">
+<img src="banner2.png" alt="SerenityOS">
<h1>SerenityOS</h1>
<b>A graphical Unix-like operating system for desktop computers!</b>
@@ -20,7 +20,7 @@
<p><b>Project:</b></p>
<ul>
<li><a href="https://github.com/SerenityOS/serenity">SerenityOS on GitHub</a></li>
- <li><a href="https://discord.gg/serenityos">SerenityOS Discord Server</a> <font color=red>(join here to chat!)</font></li>
+ <li><a href="https://discord.com/invite/29gCcKsXkF">SerenityOS Discord Server</a> <font color=red>(join here to chat!)</font></li>
<li><a href="faq/">Frequently asked questions</a></li>
<li><a href="bounty/">Bug bounty program</a></li>
</ul>
@@ -48,10 +48,15 @@
<p><b>Other links:</b></p>
<ul>
<li><a href="https://youtube.com/c/AndreasKling">Andreas Kling on YouTube</a></li>
+ <li><a href="happy/3rd/">Happy 3rd birthday! SerenityOS: Year 3 in review</a></li>
<li><a href="happy/2nd/">Happy 2nd birthday! SerenityOS: The second year</a></li>
<li><a href="happy/1st/">Happy 1st birthday! SerenityOS: From zero to HTML in a year</a></li>
<li><a href="https://happy-serenityos.linus.dev/">Linus's ":^)" tracker</a></li>
</ul>
+<p><b>Screenshot:</b></p>
+
+<img src="screenshot-b36968c.png">
+
</body>
</html>