summaryrefslogtreecommitdiff
path: root/Meta/Websites
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2020-12-28 00:10:45 +0100
committerAndreas Kling <kling@serenityos.org>2020-12-28 00:12:12 +0100
commit4e99e013f007c4082e9efbd4cd02ebf92c0607f3 (patch)
treef4ac84162ed073ca454f359f2fb0d9c05df031c1 /Meta/Websites
parent20e27009523c2e69ec4037c8c46867bae4f20cfc (diff)
downloadserenity-4e99e013f007c4082e9efbd4cd02ebf92c0607f3.zip
Meta: Import the serenityos.org website
It doesn't seem right to not have the website in version control. Also this way people can make changes to it. :^)
Diffstat (limited to 'Meta/Websites')
-rw-r--r--Meta/Websites/serenityos.org/banner.pngbin0 -> 49918 bytes
-rw-r--r--Meta/Websites/serenityos.org/bounty/index.html40
-rw-r--r--Meta/Websites/serenityos.org/bounty/kiwis4kiwi.pngbin0 -> 226701 bytes
-rw-r--r--Meta/Websites/serenityos.org/buggie.pngbin0 -> 213226 bytes
-rw-r--r--Meta/Websites/serenityos.org/faq/index.html43
-rw-r--r--Meta/Websites/serenityos.org/favicon.icobin0 -> 266 bytes
-rw-r--r--Meta/Websites/serenityos.org/github-sponsors/index.html25
-rw-r--r--Meta/Websites/serenityos.org/github-sponsors/mona.pngbin0 -> 34156 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2018-10-10.pngbin0 -> 373652 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2018-11-08.pngbin0 -> 9677 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-01-09.pngbin0 -> 7044 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-01-10.pngbin0 -> 4164 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-01-21.pngbin0 -> 13521 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-01-29.pngbin0 -> 18949 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-02-03.pngbin0 -> 16382 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-02-08.pngbin0 -> 293086 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-02-11.pngbin0 -> 242977 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-02-28.pngbin0 -> 221678 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-03-04.pngbin0 -> 146997 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-03-07.pngbin0 -> 305325 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-03-12.pngbin0 -> 29301 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-03-15.pngbin0 -> 213281 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-03-29.pngbin0 -> 300106 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-04-11.pngbin0 -> 365760 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-04-14.pngbin0 -> 70562 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-04-20.pngbin0 -> 344599 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-04-22.pngbin0 -> 375575 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-04-29.pngbin0 -> 50313 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-06-14.pngbin0 -> 324007 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-07-14.pngbin0 -> 456537 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-08-27.pngbin0 -> 451997 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-09-09.pngbin0 -> 373124 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-09-29.pngbin0 -> 23856 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-10-06.pngbin0 -> 26479 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/2019-10-10.pngbin0 -> 25077 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/index.html217
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2018-10-10.pngbin0 -> 556686 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2018-11-08.pngbin0 -> 69130 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-09.pngbin0 -> 37947 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-10.pngbin0 -> 7611 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-21.pngbin0 -> 74711 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-29.pngbin0 -> 80181 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-03.pngbin0 -> 74352 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-08.pngbin0 -> 254909 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-11.pngbin0 -> 207025 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-28.pngbin0 -> 172652 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-04.pngbin0 -> 166481 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-07.pngbin0 -> 164029 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-12.pngbin0 -> 195312 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-15.pngbin0 -> 210854 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-29.pngbin0 -> 214730 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-11.pngbin0 -> 215378 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-14.pngbin0 -> 119605 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-20.pngbin0 -> 222270 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-22.pngbin0 -> 278043 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-29.pngbin0 -> 129361 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-06-14.pngbin0 -> 191968 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-07-14.pngbin0 -> 236852 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-08-27.pngbin0 -> 277418 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-09.pngbin0 -> 332671 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-29.pngbin0 -> 75432 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-06.pngbin0 -> 99066 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-10.pngbin0 -> 86789 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2018-10-10.pngbin0 -> 373652 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2018-11-08.pngbin0 -> 9677 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-01-09.pngbin0 -> 7044 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-01-10.pngbin0 -> 4164 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-01-21.pngbin0 -> 13521 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-01-29.pngbin0 -> 18949 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-02-03.pngbin0 -> 16382 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-02-08.pngbin0 -> 293086 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-02-11.pngbin0 -> 242977 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-02-28.pngbin0 -> 221678 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-03-04.pngbin0 -> 146997 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-03-07.pngbin0 -> 305325 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-03-12.pngbin0 -> 29301 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-03-15.pngbin0 -> 213281 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-03-29.pngbin0 -> 300106 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-04-11.pngbin0 -> 365760 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-04-14.pngbin0 -> 70562 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-04-20.pngbin0 -> 344599 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-04-22.pngbin0 -> 375575 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-04-29.pngbin0 -> 50313 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-06-14.pngbin0 -> 324007 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-07-14.pngbin0 -> 456537 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-08-27.pngbin0 -> 451997 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-09-09.pngbin0 -> 373124 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-09-29.pngbin0 -> 23856 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-10-06.pngbin0 -> 26479 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-10-10.pngbin0 -> 25077 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-10-31.pngbin0 -> 15877 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2019-11-30.pngbin0 -> 19743 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-01-31.pngbin0 -> 37648 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-02-22.pngbin0 -> 30916 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-02-29.pngbin0 -> 19686 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-03-31.pngbin0 -> 22624 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-05-30.pngbin0 -> 31645 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-06-22.pngbin0 -> 166408 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-06-30.pngbin0 -> 19748 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-07-27.pngbin0 -> 22734 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-08-30.pngbin0 -> 98319 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-09-22.pngbin0 -> 27514 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-09-29.pngbin0 -> 18807 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-10-03.pngbin0 -> 136398 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/2020-10-10.pngbin0 -> 53938 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/buggie2.pngbin0 -> 5761 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/getbrowser.gifbin0 -> 1931 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/hxp.pngbin0 -> 34139 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/index.html458
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2018-10-10.pngbin0 -> 556686 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2018-11-08.pngbin0 -> 69130 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-09.pngbin0 -> 37947 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-10.pngbin0 -> 7611 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-21.pngbin0 -> 74711 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-29.pngbin0 -> 80181 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-03.pngbin0 -> 74352 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-08.pngbin0 -> 254909 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-11.pngbin0 -> 207025 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-28.pngbin0 -> 172652 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-04.pngbin0 -> 166481 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-07.pngbin0 -> 164029 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-12.pngbin0 -> 195312 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-15.pngbin0 -> 210854 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-29.pngbin0 -> 214730 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-11.pngbin0 -> 215378 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-14.pngbin0 -> 119605 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-20.pngbin0 -> 222270 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-22.pngbin0 -> 278043 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-29.pngbin0 -> 129361 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-06-14.pngbin0 -> 191968 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-07-14.pngbin0 -> 236852 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-08-27.pngbin0 -> 277418 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-09.pngbin0 -> 332671 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-29.pngbin0 -> 75432 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-06.pngbin0 -> 99066 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-10.pngbin0 -> 86789 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-31.pngbin0 -> 23499 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2019-11-30.pngbin0 -> 38694 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-01-31.pngbin0 -> 91717 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-22.pngbin0 -> 76691 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-29.pngbin0 -> 41330 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-03-31.pngbin0 -> 42252 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-05-30.pngbin0 -> 60362 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-22.pngbin0 -> 121824 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-30.pngbin0 -> 39692 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-07-27.pngbin0 -> 51647 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-08-30.pngbin0 -> 83189 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-22.pngbin0 -> 70158 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-29.pngbin0 -> 47322 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-03.pngbin0 -> 119707 bytes
-rw-r--r--Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-10.pngbin0 -> 95367 bytes
-rw-r--r--Meta/Websites/serenityos.org/index.html48
152 files changed, 831 insertions, 0 deletions
diff --git a/Meta/Websites/serenityos.org/banner.png b/Meta/Websites/serenityos.org/banner.png
new file mode 100644
index 0000000000..872cf0eee5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/banner.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/bounty/index.html b/Meta/Websites/serenityos.org/bounty/index.html
new file mode 100644
index 0000000000..3307df6493
--- /dev/null
+++ b/Meta/Websites/serenityos.org/bounty/index.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+<head><title>SerenityOS bug bounty program</title></head>
+<body>
+ <h1>SerenityOS bug bounty program</h1>
+ <p>
+ Like any respectable software project, SerenityOS also runs a bug bounty program.
+ I don't have a huge budget, but I want to reward good honest work.
+ </p>
+ <p>
+ I will pay <b>$5</b> USD for exploitable bugs in these categories:
+ </p>
+ <ul>
+ <li>Remote code execution.</li>
+ <li>Local privilege escalation.</li>
+ <li>Arbitrary code execution in the Browser when loading a remote web page.</li>
+ </ul>
+ <p><b>Rules</b></p>
+ <ul>
+ <li>No rewards for bugs you caused yourself.</li>
+ <li>The PoC exploit needs to work against the master branch at the time of claim.</li>
+ <li>Max 5 bounties per person.</li>
+ <li>No duplicates. If a bug is already reported, only the earliest reporter may claim the reward. This includes bugs found by continuous fuzzing systems.</li>
+ <li>Remote bugs must be exploitable with an unmodified "default setup" of SerenityOS. Bugs in programs that are not started by default don't qualify.</li>
+ <li>The PoC exploit needs to work on a QEMU-emulated CPU that supports SMAP, SMEP, UMIP, NX, WP, and TSD natively.</li>
+ <li>SerenityOS always runs with assertions enabled, so you'll need to find a way around them.</li>
+ </ul>
+ <p>
+ Rewarded bounties will be listed here, and I will also make a video dissecting each
+ exploit and showing what the bug was, and how I fix it.
+ </p>
+ <p><b>Rewarded bounties:</b></p>
+ <ul>
+ <li><b>2020-03-30:</b> <font color="green"><b>$5</b></font> to <b>\0</b> for reporting that the documentation neglects to mention that the default <b>anon</b> user can use <code>su</code> to become <b>root</b> by default. <a href="kiwis4kiwi.png">Donated to "Kiwis for Kiwi" charity as per \0's request.</a> Fixed with <a href="https://github.com/SerenityOS/serenity/commit/ec91d2eb9febafd82de3b30bd76fb621f3da5026">this commit</a>.</li>
+ </ul>
+ <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>
+ </p>
+</body>
+</html>
diff --git a/Meta/Websites/serenityos.org/bounty/kiwis4kiwi.png b/Meta/Websites/serenityos.org/bounty/kiwis4kiwi.png
new file mode 100644
index 0000000000..b57dd8bd72
--- /dev/null
+++ b/Meta/Websites/serenityos.org/bounty/kiwis4kiwi.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/buggie.png b/Meta/Websites/serenityos.org/buggie.png
new file mode 100644
index 0000000000..1602318a47
--- /dev/null
+++ b/Meta/Websites/serenityos.org/buggie.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/faq/index.html b/Meta/Websites/serenityos.org/faq/index.html
new file mode 100644
index 0000000000..72edd24966
--- /dev/null
+++ b/Meta/Websites/serenityos.org/faq/index.html
@@ -0,0 +1,43 @@
+<html>
+<head><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>
+
+</body>
+</html>
diff --git a/Meta/Websites/serenityos.org/favicon.ico b/Meta/Websites/serenityos.org/favicon.ico
new file mode 100644
index 0000000000..0f7ce747ab
--- /dev/null
+++ b/Meta/Websites/serenityos.org/favicon.ico
Binary files differ
diff --git a/Meta/Websites/serenityos.org/github-sponsors/index.html b/Meta/Websites/serenityos.org/github-sponsors/index.html
new file mode 100644
index 0000000000..7f9a514569
--- /dev/null
+++ b/Meta/Websites/serenityos.org/github-sponsors/index.html
@@ -0,0 +1,25 @@
+<html>
+<head><title>Sponsor SerenityOS on GitHub!</title></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;">
+<p><blink><b>Hello friends!</b></blink></p>
+<p>As of October 19 2019, I am in the <a href="http://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>I will remain on <a href="http://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>
+ (
+ <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>
+</body>
+</html>
diff --git a/Meta/Websites/serenityos.org/github-sponsors/mona.png b/Meta/Websites/serenityos.org/github-sponsors/mona.png
new file mode 100644
index 0000000000..4cb161288a
--- /dev/null
+++ b/Meta/Websites/serenityos.org/github-sponsors/mona.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2018-10-10.png b/Meta/Websites/serenityos.org/happy/1st/2018-10-10.png
new file mode 100644
index 0000000000..4cbf8a24a0
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2018-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2018-11-08.png b/Meta/Websites/serenityos.org/happy/1st/2018-11-08.png
new file mode 100644
index 0000000000..c6c6ead564
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2018-11-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-01-09.png b/Meta/Websites/serenityos.org/happy/1st/2019-01-09.png
new file mode 100644
index 0000000000..c3a0ba1055
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-01-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-01-10.png b/Meta/Websites/serenityos.org/happy/1st/2019-01-10.png
new file mode 100644
index 0000000000..e592275868
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-01-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-01-21.png b/Meta/Websites/serenityos.org/happy/1st/2019-01-21.png
new file mode 100644
index 0000000000..e1eca73e3a
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-01-21.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-01-29.png b/Meta/Websites/serenityos.org/happy/1st/2019-01-29.png
new file mode 100644
index 0000000000..987f4307f9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-01-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-02-03.png b/Meta/Websites/serenityos.org/happy/1st/2019-02-03.png
new file mode 100644
index 0000000000..23d948b1c5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-02-03.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-02-08.png b/Meta/Websites/serenityos.org/happy/1st/2019-02-08.png
new file mode 100644
index 0000000000..f3c7099fae
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-02-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-02-11.png b/Meta/Websites/serenityos.org/happy/1st/2019-02-11.png
new file mode 100644
index 0000000000..0627c524d4
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-02-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-02-28.png b/Meta/Websites/serenityos.org/happy/1st/2019-02-28.png
new file mode 100644
index 0000000000..06dcc3f283
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-02-28.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-03-04.png b/Meta/Websites/serenityos.org/happy/1st/2019-03-04.png
new file mode 100644
index 0000000000..5bd9b8f89c
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-03-04.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-03-07.png b/Meta/Websites/serenityos.org/happy/1st/2019-03-07.png
new file mode 100644
index 0000000000..8ad0fa76a6
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-03-07.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-03-12.png b/Meta/Websites/serenityos.org/happy/1st/2019-03-12.png
new file mode 100644
index 0000000000..404b4a5a14
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-03-12.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-03-15.png b/Meta/Websites/serenityos.org/happy/1st/2019-03-15.png
new file mode 100644
index 0000000000..fd670ca429
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-03-15.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-03-29.png b/Meta/Websites/serenityos.org/happy/1st/2019-03-29.png
new file mode 100644
index 0000000000..41f31c52a2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-03-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-04-11.png b/Meta/Websites/serenityos.org/happy/1st/2019-04-11.png
new file mode 100644
index 0000000000..9b8e9a3cf2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-04-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-04-14.png b/Meta/Websites/serenityos.org/happy/1st/2019-04-14.png
new file mode 100644
index 0000000000..5b16991593
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-04-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-04-20.png b/Meta/Websites/serenityos.org/happy/1st/2019-04-20.png
new file mode 100644
index 0000000000..65e6a9d89b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-04-20.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-04-22.png b/Meta/Websites/serenityos.org/happy/1st/2019-04-22.png
new file mode 100644
index 0000000000..5da859b3c7
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-04-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-04-29.png b/Meta/Websites/serenityos.org/happy/1st/2019-04-29.png
new file mode 100644
index 0000000000..04e2ecff02
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-04-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-06-14.png b/Meta/Websites/serenityos.org/happy/1st/2019-06-14.png
new file mode 100644
index 0000000000..89f6f88a8c
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-06-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-07-14.png b/Meta/Websites/serenityos.org/happy/1st/2019-07-14.png
new file mode 100644
index 0000000000..e362743a56
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-07-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-08-27.png b/Meta/Websites/serenityos.org/happy/1st/2019-08-27.png
new file mode 100644
index 0000000000..574119dd58
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-08-27.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-09-09.png b/Meta/Websites/serenityos.org/happy/1st/2019-09-09.png
new file mode 100644
index 0000000000..0a4aed5c3f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-09-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-09-29.png b/Meta/Websites/serenityos.org/happy/1st/2019-09-29.png
new file mode 100644
index 0000000000..b4ed7a724b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-09-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-10-06.png b/Meta/Websites/serenityos.org/happy/1st/2019-10-06.png
new file mode 100644
index 0000000000..7e95fbf4f5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-10-06.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/2019-10-10.png b/Meta/Websites/serenityos.org/happy/1st/2019-10-10.png
new file mode 100644
index 0000000000..1984023c50
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/2019-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/index.html b/Meta/Websites/serenityos.org/happy/1st/index.html
new file mode 100644
index 0000000000..c8dc2fdde6
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/index.html
@@ -0,0 +1,217 @@
+<html>
+<head><title>SerenityOS: From zero to HTML in a year</title></head>
+<body>
+ <h1>SerenityOS: From zero to HTML in a year</h1>
+ <p>
+ <blink><b>Hello friends!</b></blink>
+ </p>
+ <p>
+ The Serenity operating system turns 1 year old today. I'm counting
+ from the <a href="https://github.com/SerenityOS/serenity/commit/5a300551574451fbf509685d11095bda4fcb20be">first commit</a> in the
+ <a href="https://github.com/SerenityOS/serenity/">git repository</a>,
+ on October 10, 2018.
+ Parts of the code had been around for a while before that, so this
+ first commit was really about putting everything I was tinkering
+ with into a shared repo.
+ </p>
+ <p>Anyways... we have to start somewhere!</p>
+ <p>
+ <b>NOTE:</b> This web page is very light on HTML/CSS features so that it
+ can be rendered by Serenity's own Browser!
+ </p>
+ <p>
+ In the beginning there were four components:
+ </p>
+ <ul>
+ <li>The AK utility library</li>
+ <li>An ELF executable loader</li>
+ <li>An ext2 filesystem parser</li>
+ <li>A simple GUI toolkit on top of SDL</li>
+ </ul>
+ <p>
+ These were just some little C++ projects I had been tinkering with
+ after installing Slackware 11 on an old PC to do some hacking.
+ None of them were very mature, but it was fun, and I was in a place
+ where I needed to do some programming to find myself again.
+ </p>
+ <p>
+ Here's how the ext2 filesystem parser looked like when running:
+ </p>
+ <pre>
+ ::&gt;cd /home/andreas
+ ::&gt;ls -l
+ [VFS] ls ///home/andreas -&gt; ext2fs 01:00000017
+ 01:00000017 drwxr-xr-x 1024 2018-10-08 13:47:04 ./
+ 01:00000016 drwxr-xr-x 1024 2018-10-02 23:43:49 ../
+ 01:00000018 -rw-r--r-- 18 2018-10-02 23:44:09 file1
+ 01:00000019 -rw-r--r-- 18 2018-10-02 23:44:14 file2
+ ::&gt;
+ </pre>
+ <div>
+ <p><b>2018-10-10:</b> The first ever "screenshot" of what became Serenity:</p>
+ <a href="2018-10-10.png"><img src="thumb.2018-10-10.png"></a>
+ </div>
+ <p>
+ I imported a little x86 kernel I had been working on earlier in
+ the year. It was a piece of crap, but it was a place to start.
+ I originally had some weird idea that kernels should be written
+ in C, so I had tried to write in C, but I thankfully realized very
+ quickly that I was being silly. :^)
+ </p>
+ <div>
+ <p><b>2018-11-08:</b> Serenity running inside a virtual machine:</p>
+ <a href="2018-11-08.png"><img src="thumb.2018-11-08.png"></a>
+ </div>
+ <p>
+ I kept working on the GUI toolkit on my Linux system, while also
+ developing the standalone system. This is how far I got with the
+ GUI while it was still sitting on top of SDL on Linux:
+ </p>
+ <div>
+ <p><b>2019-01-09:</b> The "Widgets" test program in an SDL framebuffer:</p>
+ <a href="2019-01-09.png"><img src="thumb.2019-01-09.png"></a>
+ </div>
+ <p>
+ I then decided it was time to get this running on top of Serenity's
+ own kernel. A day later, I saw this running in a VM for the first time.
+ It was the most beautiful thing I had ever seen.
+ </p>
+ <div>
+ <p><b>2019-01-10:</b> Serenity booting into a GUI for the first time:</p>
+ <a href="2019-01-10.png"><img src="thumb.2019-01-10.png"></a>
+ </div>
+ <p>
+ I started working on a userspace API for doing GUI stuff. The original
+ version was a monstrosity with the window server running in the kernel
+ and processes making syscalls to create windows, etc.
+ </p>
+ <div>
+ <p><b>2019-01-21:</b> Seeing how many "guitest" processes I can spawn:</p>
+ <a href="2019-01-21.png"><img src="thumb.2019-01-21.png"></a>
+ </div>
+ <div>
+ <p><b>2019-02-03:</b> Added FontEditor and Clock, ported GNU bc:</p>
+ <a href="2019-02-03.png"><img src="thumb.2019-02-03.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-02-08:</b> Wallpaper support, a "top" program, and more:</p>
+ <a href="2019-02-08.png"><img src="thumb.2019-02-08.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-02-11:</b> First implementation of menus! And a very early FileManager:</p>
+ <a href="2019-02-11.png"><img src="thumb.2019-02-11.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-02-28:</b> Early version of ProcessManager (today called SystemMonitor):</p>
+ <a href="2019-02-28.png"><img src="thumb.2019-02-28.png"></a>
+ </div>
+
+ <p>
+ Somewhere around here I figured it would be cool to add networking support,
+ so I started building a network stack.
+ </p>
+
+ <div>
+ <p><b>2019-03-12:</b> My host machine is pinging me!</p>
+ <a href="2019-03-12.png"><img src="thumb.2019-03-12.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-03-15:</b> The first thing I did when TCP kinda worked was build an IRC client:</p>
+ <a href="2019-03-15.png"><img src="thumb.2019-03-15.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-03-29:</b> Using FileManager to drive development of tree and icon views:</p>
+ <a href="2019-03-29.png"><img src="thumb.2019-03-29.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-04-11:</b> First screenshot of VisualBuilder, a Visual Basic inspired GUI design tool:</p>
+ <a href="2019-04-11.png"><img src="thumb.2019-04-11.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-04-20:</b> I made a Snake game. You gotta have snake!</p>
+ <a href="2019-04-20.png"><img src="thumb.2019-04-20.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-04-22:</b> First semi-successful GCC port. It can only compile small C programs:</p>
+ <a href="2019-04-22.png"><img src="thumb.2019-04-22.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-06-14:</b> Started building PaintBrush, a simple painting application:</p>
+ <a href="2019-06-14.png"><img src="thumb.2019-06-14.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-07-14:</b> After the system got basic sound support, I built Piano, a desktop synthesizer:</p>
+ <a href="2019-07-14.png"><img src="thumb.2019-07-14.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-08-27:</b> New menu look inspired by Microsoft circa 2002:</p>
+ <a href="2019-08-27.png"><img src="thumb.2019-08-27.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-09-09:</b> Ladies and gentlemen, we've got DOOM:</p>
+ <a href="2019-09-09.png"><img src="thumb.2019-09-09.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-09-29:</b> Working on basic CSS support in LibHTML:</p>
+ <a href="2019-09-29.png"><img src="thumb.2019-09-29.png"></a>
+ </div>
+
+ <div>
+ <p><b>2019-10-10</b> Viewing <b>this webpage</b> in Serenity's Browser!</p>
+ <a href="2019-10-10.png"><img src="thumb.2019-10-10.png"></a>
+ </div>
+ <p>
+ And with that, this little screenshot tour of the first year of Serenity is over.
+ </p>
+ <p>
+ If you would like to see more, I've also been making regular monthly update videos
+ throughout the year:
+ </p>
+ <ul>
+ <li><a href="https://www.youtube.com/watch?v=hE52D-zbX3g">Serenity OS update (March 2019)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=RBr5If8GrM4">Serenity OS update (April 2019)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=KHpGvwBTRxM">Serenity OS update (May 2019)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=-SQP3E67bnc">Serenity OS update (June 2019)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=YfTAezcRPs8">Serenity OS update (July 2019)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=h76Ah4oKfKE">Serenity OS update (August 2019)</a></li>
+ <li><a href="https://www.youtube.com/watch?v=vK0h_Ih4dw4">Serenity OS update (September 2019)</a></li>
+ </ul>
+ <p>
+ To all the boys and girls who have helped out in the last year, with code, bug reports,
+ docs, commenting on videos, e-mailing, hanging out on IRC, retweeting, telling your friends, etc,
+ thank you! I'm so grateful for all the love this project has been getting.
+ </p>
+ <p>
+ And also, a huge <b>thank you!</b> to everyone who has supported me via
+ <a href="https://patreon.com/serenityos">Patreon</a>
+ and other donation methods! It's my dream to turn this into a full time show some day,
+ and you're a huge part of keeping that dream alive. :)
+ </p>
+ <p>
+ Let's see what we can do in year 2!
+ </p>
+ <p>
+ <i>Andreas Kling, 2019-10-10</i>
+ </p>
+ <p>
+ <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>
+</body>
+</html>
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2018-10-10.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2018-10-10.png
new file mode 100644
index 0000000000..6627c243ac
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2018-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2018-11-08.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2018-11-08.png
new file mode 100644
index 0000000000..3a8ad5f9b7
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2018-11-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-09.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-09.png
new file mode 100644
index 0000000000..5001649b57
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-10.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-10.png
new file mode 100644
index 0000000000..bb6605432a
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-21.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-21.png
new file mode 100644
index 0000000000..572f6e6b3c
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-21.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-29.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-29.png
new file mode 100644
index 0000000000..6e6b9eba8f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-01-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-03.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-03.png
new file mode 100644
index 0000000000..3d71658b7f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-03.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-08.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-08.png
new file mode 100644
index 0000000000..abb08826f4
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-11.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-11.png
new file mode 100644
index 0000000000..64ee82d65d
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-28.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-28.png
new file mode 100644
index 0000000000..ed81ed34f9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-02-28.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-04.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-04.png
new file mode 100644
index 0000000000..47f9ec4756
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-04.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-07.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-07.png
new file mode 100644
index 0000000000..65a4b89586
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-07.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-12.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-12.png
new file mode 100644
index 0000000000..a96b1c009b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-12.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-15.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-15.png
new file mode 100644
index 0000000000..3c1e6b0ea2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-15.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-29.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-29.png
new file mode 100644
index 0000000000..8e364a1089
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-03-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-11.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-11.png
new file mode 100644
index 0000000000..178d5be4b5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-14.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-14.png
new file mode 100644
index 0000000000..729a9ce51f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-20.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-20.png
new file mode 100644
index 0000000000..7e6f401f8f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-20.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-22.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-22.png
new file mode 100644
index 0000000000..a74331d8b4
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-29.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-29.png
new file mode 100644
index 0000000000..6fb6fa484e
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-04-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-06-14.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-06-14.png
new file mode 100644
index 0000000000..bf40d69502
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-06-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-07-14.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-07-14.png
new file mode 100644
index 0000000000..b415a92210
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-07-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-08-27.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-08-27.png
new file mode 100644
index 0000000000..be6eda09cd
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-08-27.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-09.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-09.png
new file mode 100644
index 0000000000..4391ffb4df
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-29.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-29.png
new file mode 100644
index 0000000000..a1e760235f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-09-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-06.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-06.png
new file mode 100644
index 0000000000..1e5131c350
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-06.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-10.png b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-10.png
new file mode 100644
index 0000000000..91745429a2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/1st/thumb.2019-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2018-10-10.png b/Meta/Websites/serenityos.org/happy/2nd/2018-10-10.png
new file mode 100644
index 0000000000..4cbf8a24a0
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2018-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2018-11-08.png b/Meta/Websites/serenityos.org/happy/2nd/2018-11-08.png
new file mode 100644
index 0000000000..c6c6ead564
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2018-11-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-01-09.png b/Meta/Websites/serenityos.org/happy/2nd/2019-01-09.png
new file mode 100644
index 0000000000..c3a0ba1055
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-01-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-01-10.png b/Meta/Websites/serenityos.org/happy/2nd/2019-01-10.png
new file mode 100644
index 0000000000..e592275868
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-01-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-01-21.png b/Meta/Websites/serenityos.org/happy/2nd/2019-01-21.png
new file mode 100644
index 0000000000..e1eca73e3a
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-01-21.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-01-29.png b/Meta/Websites/serenityos.org/happy/2nd/2019-01-29.png
new file mode 100644
index 0000000000..987f4307f9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-01-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-02-03.png b/Meta/Websites/serenityos.org/happy/2nd/2019-02-03.png
new file mode 100644
index 0000000000..23d948b1c5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-02-03.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-02-08.png b/Meta/Websites/serenityos.org/happy/2nd/2019-02-08.png
new file mode 100644
index 0000000000..f3c7099fae
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-02-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-02-11.png b/Meta/Websites/serenityos.org/happy/2nd/2019-02-11.png
new file mode 100644
index 0000000000..0627c524d4
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-02-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-02-28.png b/Meta/Websites/serenityos.org/happy/2nd/2019-02-28.png
new file mode 100644
index 0000000000..06dcc3f283
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-02-28.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-03-04.png b/Meta/Websites/serenityos.org/happy/2nd/2019-03-04.png
new file mode 100644
index 0000000000..5bd9b8f89c
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-03-04.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-03-07.png b/Meta/Websites/serenityos.org/happy/2nd/2019-03-07.png
new file mode 100644
index 0000000000..8ad0fa76a6
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-03-07.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-03-12.png b/Meta/Websites/serenityos.org/happy/2nd/2019-03-12.png
new file mode 100644
index 0000000000..404b4a5a14
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-03-12.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-03-15.png b/Meta/Websites/serenityos.org/happy/2nd/2019-03-15.png
new file mode 100644
index 0000000000..fd670ca429
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-03-15.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-03-29.png b/Meta/Websites/serenityos.org/happy/2nd/2019-03-29.png
new file mode 100644
index 0000000000..41f31c52a2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-03-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-04-11.png b/Meta/Websites/serenityos.org/happy/2nd/2019-04-11.png
new file mode 100644
index 0000000000..9b8e9a3cf2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-04-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-04-14.png b/Meta/Websites/serenityos.org/happy/2nd/2019-04-14.png
new file mode 100644
index 0000000000..5b16991593
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-04-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-04-20.png b/Meta/Websites/serenityos.org/happy/2nd/2019-04-20.png
new file mode 100644
index 0000000000..65e6a9d89b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-04-20.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-04-22.png b/Meta/Websites/serenityos.org/happy/2nd/2019-04-22.png
new file mode 100644
index 0000000000..5da859b3c7
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-04-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-04-29.png b/Meta/Websites/serenityos.org/happy/2nd/2019-04-29.png
new file mode 100644
index 0000000000..04e2ecff02
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-04-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-06-14.png b/Meta/Websites/serenityos.org/happy/2nd/2019-06-14.png
new file mode 100644
index 0000000000..89f6f88a8c
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-06-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-07-14.png b/Meta/Websites/serenityos.org/happy/2nd/2019-07-14.png
new file mode 100644
index 0000000000..e362743a56
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-07-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-08-27.png b/Meta/Websites/serenityos.org/happy/2nd/2019-08-27.png
new file mode 100644
index 0000000000..574119dd58
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-08-27.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-09-09.png b/Meta/Websites/serenityos.org/happy/2nd/2019-09-09.png
new file mode 100644
index 0000000000..0a4aed5c3f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-09-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-09-29.png b/Meta/Websites/serenityos.org/happy/2nd/2019-09-29.png
new file mode 100644
index 0000000000..b4ed7a724b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-09-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-10-06.png b/Meta/Websites/serenityos.org/happy/2nd/2019-10-06.png
new file mode 100644
index 0000000000..7e95fbf4f5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-10-06.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-10-10.png b/Meta/Websites/serenityos.org/happy/2nd/2019-10-10.png
new file mode 100644
index 0000000000..1984023c50
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-10-31.png b/Meta/Websites/serenityos.org/happy/2nd/2019-10-31.png
new file mode 100644
index 0000000000..f4768dbfaf
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-10-31.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2019-11-30.png b/Meta/Websites/serenityos.org/happy/2nd/2019-11-30.png
new file mode 100644
index 0000000000..164d5eb65e
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2019-11-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-01-31.png b/Meta/Websites/serenityos.org/happy/2nd/2020-01-31.png
new file mode 100644
index 0000000000..903c5fc04f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-01-31.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-02-22.png b/Meta/Websites/serenityos.org/happy/2nd/2020-02-22.png
new file mode 100644
index 0000000000..e8227a0b66
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-02-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-02-29.png b/Meta/Websites/serenityos.org/happy/2nd/2020-02-29.png
new file mode 100644
index 0000000000..05ca638390
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-02-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-03-31.png b/Meta/Websites/serenityos.org/happy/2nd/2020-03-31.png
new file mode 100644
index 0000000000..5113be9ffb
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-03-31.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-05-30.png b/Meta/Websites/serenityos.org/happy/2nd/2020-05-30.png
new file mode 100644
index 0000000000..872edceaef
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-05-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-06-22.png b/Meta/Websites/serenityos.org/happy/2nd/2020-06-22.png
new file mode 100644
index 0000000000..58dbda82ff
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-06-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-06-30.png b/Meta/Websites/serenityos.org/happy/2nd/2020-06-30.png
new file mode 100644
index 0000000000..67baaf52b9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-06-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-07-27.png b/Meta/Websites/serenityos.org/happy/2nd/2020-07-27.png
new file mode 100644
index 0000000000..b448f45701
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-07-27.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-08-30.png b/Meta/Websites/serenityos.org/happy/2nd/2020-08-30.png
new file mode 100644
index 0000000000..5c3d688cd9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-08-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-09-22.png b/Meta/Websites/serenityos.org/happy/2nd/2020-09-22.png
new file mode 100644
index 0000000000..504042bc02
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-09-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-09-29.png b/Meta/Websites/serenityos.org/happy/2nd/2020-09-29.png
new file mode 100644
index 0000000000..b2137d4fa0
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-09-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-10-03.png b/Meta/Websites/serenityos.org/happy/2nd/2020-10-03.png
new file mode 100644
index 0000000000..bd4e8979c3
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-10-03.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/2020-10-10.png b/Meta/Websites/serenityos.org/happy/2nd/2020-10-10.png
new file mode 100644
index 0000000000..07d770886d
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/2020-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/buggie2.png b/Meta/Websites/serenityos.org/happy/2nd/buggie2.png
new file mode 100644
index 0000000000..e3b0b67520
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/buggie2.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/getbrowser.gif b/Meta/Websites/serenityos.org/happy/2nd/getbrowser.gif
new file mode 100644
index 0000000000..c677dd6096
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/getbrowser.gif
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/hxp.png b/Meta/Websites/serenityos.org/happy/2nd/hxp.png
new file mode 100644
index 0000000000..3c82d032c9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/hxp.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/index.html b/Meta/Websites/serenityos.org/happy/2nd/index.html
new file mode 100644
index 0000000000..833c919a7e
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/index.html
@@ -0,0 +1,458 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>SerenityOS: The second year</title>
+ <style>
+ body {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ }
+ #banner {
+ padding: 10px;
+ background-color: #6699cc;
+ color: white;
+ }
+ #buggie {
+ position: absolute;
+ top: 8px;
+ right: 20px;
+ }
+ #browser_ad {
+ padding: 10px;
+ text-align: center;
+ border: 1px dashed gray;
+ }
+ .shot .inner {
+ padding: 16px;
+ }
+ .shot .title {
+ padding: 4px;
+ background-color: #6699cc;
+ color: white;
+ }
+ .shot img {
+ border: 1px solid black;
+ }
+ </style>
+</head>
+<body>
+ <h1 id=banner>SerenityOS: The second year</h1>
+ <img id="buggie" src="buggie2.png">
+ <div id="browser_ad">
+ <img src="getbrowser.gif"><br>
+ Best viewed in 1024x768 with the SerenityOS Browser!<br>
+ <font color=#ccc>(jk it works everywhere)</font>
+ </div>
+ <p>
+ <b id="greeting">Hello friends!</b>
+ </p>
+ <p>
+ Today is the second birthday of <a href="http://serenityos.org/">SerenityOS</a>,
+ counting from the
+ <a href="https://github.com/SerenityOS/serenity/commit/5a300551574451fbf509685d11095bda4fcb20be">first commit</a>
+ in the <a href="https://github.com/SerenityOS/serenity/">git repository</a>,
+ on October 10, 2018.
+ </p>
+ <p>
+ Previous birthdays: <a href="http://serenityos.org/happy/1st/">1st</a>.
+ </p>
+ <p>
+ <b>NOTE:</b> Since the HTML and CSS support has improved over the last
+ year, this page uses a bit more of them to showcase SerenityOS browser
+ support. :^)
+ </p>
+
+ <h2>Introduction to SerenityOS</h2>
+
+ <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>
+
+ <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>
+
+ <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.
+ </p>
+
+ <h2>Snapshots from year 2 of development</h2>
+
+ <p>
+ Anyways, let's continue looking at screenshots where we left off
+ in <a href="http://serenityos.org/happy/1st/">last year's birthday celebration</a>!
+
+ We had just gotten the browser strong enough to display the first
+ birthday celebration page..
+ </p>
+
+ <div class="shot">
+ <div class="title"><b>2019-10-31:</b> :hover selectors in the Browser</div>
+ <div class="inner">
+ <a href="2019-10-31.png"><img src="thumb.2019-10-31.png"></a>
+ <p class="info">
+ I remember first seeing links change color when hovered back
+ in the IE3 days, and thinking it was the coolest thing ever.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2019-11-04:</b> Ladies and gentlemen, we've got Quake!</div>
+ <div class="inner">
+ <iframe width="560" height="315" data-src="https://www.youtube.com/embed/-rMY7Fv84eA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+ <p class="info">
+ Jesse ported Quake to Serenity. We didn't have sound at
+ first but that was fixed later. Still, it was very exciting!
+ </p>
+ </div>
+ </div>
+
+
+ <div class="shot">
+ <div class="title"><b>2019-11-30:</b> Playing with "find in files" in the HackStudio IDE</div>
+ <div class="inner">
+ <a href="2019-11-30.png"><img src="thumb.2019-11-30.png"></a>
+ <p class="info">
+ I decided to start building an IDE for C++ development.
+ Since SerenityOS is a programmer's OS, a capable development
+ environment is a must-have.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2019-12-08:</b> Ported the nesalizer NES emulator (with sound support, too!)</div>
+ <div class="inner">
+ <iframe width="560" height="315" data-src="https://www.youtube.com/embed/6y68tX7OHCs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+ <p class="info">
+ Getting a NES emulator running helped drive improvements for
+ threading and timing APIs in the kernel.
+ Check out the video to see me die before even reaching the 1st palace..
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2019-12-30:</b> SerenityOS was hacked in a 36c3 CTF</div>
+ <div class="inner">
+ <img src="hxp.png">
+ <p class="info">
+ Someone put together a CTF (Capture The Flag) challenge at the
+ 36c3 computer security conference. I learned about this when
+ two exploits showed up (complete with write-ups!) on GitHub:
+
+ <a href="https://github.com/Fire30/CTF-WRITEUPS/tree/master/36c3_ctf/wisdom">one from Fire30</a> and <a href="https://github.com/braindead/ctf-writeups/tree/master/2019/36c3/wisdom">another one from braindead</a>.
+ <br><br>
+ This caught me by total surprise and I was a little bit disappointed
+ at how easy it was to break into the system. This event sent me down
+ a deep rabbit hole of learning about system security and applying
+ everything I learned to secure Serenity. I wanted to make sure that
+ the next CTF presented more of a challenge!
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-01-12:</b> I ported the game VVVVVVV to Serenity</div>
+ <div class="inner">
+ <iframe width="560" height="315" data-src="https://www.youtube.com/embed/wTXjWf_hVCI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+ <p class="info">
+ After the classic platformer VVVVVV was released as open-source,
+ I wanted to get it running on Serenity. It was pretty easy
+ to get it going since it used SDL and we already had a decent SDL port.
+ The game was open sourced on Jan 10th and I had it running 2 days later.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-01-31:</b> pledge() and unveil() all the things</div>
+ <div class="inner">
+ <a href="2020-01-31.png"><img src="thumb.2020-01-31.png"></a>
+ <p class="info">
+ Outside of enabling every protection mechanism the x86 has to offer,
+ there was also a fair amount of architectural Unix-level security
+ work. One of the most important pieces was adopting two OpenBSD-like
+ system calls: <code>pledge()</code> and <code>unveil()</code>.
+ <br><br>
+ I wrote about <a href="https://awesomekling.github.io/pledge-and-unveil-in-SerenityOS/">Serenity's pledge and unveil implementation on my blog</a>.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-02-22:</b> Kernel symbols in the Profiler</div>
+ <div class="inner">
+ <a href="2020-02-22.png"><img src="thumb.2020-02-22.png"></a>
+ <p class="info">
+ The system's built-in time profiler became a lot more helpful when
+ we added symbolication of kernel stack frames. You can tell them apart
+ from userspace frames by the little red icon in the graph!
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-02-29:</b> A simple built-in web server</div>
+ <div class="inner">
+ <a href="2020-02-29.png"><img src="thumb.2020-02-29.png"></a>
+ <p class="info">
+ For my own birthday (February 9th), I celebrated by building a simple
+ HTTP server for Serenity. I always loved the simple HTTP server that
+ comes with Python, and I wanted something similar for Serenity.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-03-31:</b> The JavaScript explosion</div>
+ <div class="inner">
+ <a href="2020-03-31.png"><img src="thumb.2020-03-31.png"></a>
+ <p class="info">
+ People kept asking me if the web browser would ever support JavaScript.
+ I honestly felt a bit intimidated when starting this project but I just
+ did it anyway, and a whole bunch of people very quickly joined up to
+ help out.
+ <br><br>
+ I started by <a href="https://www.youtube.com/watch?v=byNwCHc_IIM">implementing a simple AST interpreter</a>,
+ and building some test AST's by hand. Then Stephan added a parser, and Sergey made a REPL,
+ and then things really took off, with Linus and Matt going especially deep.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-05-28:</b> Changing the LICENSE (a tiny bit)</div>
+ <div class="inner">
+ <iframe width="560" height="315" data-src="https://www.youtube.com/embed/1jbd2OmW2DE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+ <p class="info">
+ To celebrate the project reaching 10'000 commits, I updated the main license file
+ to assign copyright to "the SerenityOS developers" instead of just myself.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-05-30:</b> Accessing more of the web with TLS (and HTTPS)</div>
+ <div class="inner">
+ <a href="2020-05-30.png"><img src="thumb.2020-05-30.png"></a>
+ <p class="info">
+ Browser development was moving forward with the LibJS engine allowing
+ more and more complex things. But we were still limited to visiting unencrypted
+ websites served over HTTP.
+ <br><br>
+ In comes LibTLS and LibCrypto! Thanks to some amazing work by Ali, assisted by
+ Itamar and DexesTTP, we can now talk to HTTPS websites as well. The whole world
+ opens up!
+ <br><br>
+ I was super excited when I could get Google loading for the first time!
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-06-22:</b> Our very own JPEG decoder</div>
+ <div class="inner">
+ <a href="2020-06-22.png"><img src="thumb.2020-06-22.png"></a>
+ <p class="info">
+ Devashish implemented a JPEG decoder for LibGfx and suddenly we had access
+ to a world of photos!
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-06-30:</b> Working on ACID2 compliance test fixes</div>
+ <div class="inner">
+ <a href="2020-06-30.png"><img src="thumb.2020-06-30.png"></a>
+ <p class="info">
+ I spent a whole bunch of time improving standards compliance in the
+ LibWeb engine's CSS implementation.
+ I've been using the classic <a href="http://acid2.acidtests.org/">ACID2 test</a>
+ to drive some of the work. As you can see from the picture, a lot of work
+ still remains!
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-07-27:</b> Catching memory errors with a userspace emulator</div>
+ <div class="inner">
+ <a href="2020-07-27.png"><img src="thumb.2020-07-27.png"></a>
+ <p class="info">
+ One tool I've missed ever since starting the SerenityOS project is the amazing
+ <a href="https://www.valgrind.org/">Valgrind</a>.
+ <br><br>
+ I finally decided to do something about it, and I was curious how such a thing might
+ be implemented, so I set out to create a workalike of my own.
+ <br><br>
+ I've hacked on x86 emulators in the past, so I decided to bring my knowledge in that
+ area into Serenity and started building UserspaceEmulator (or UE for short), a program
+ that implements a ring-3-only x86 CPU and intercepts system calls so we can instrument them.
+ <br><br>
+ Within a couple of weeks of hacking, I could run compiled programs without changing
+ anything about them, and catch memory leaks just like Valgrind would!
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-08-30:</b> More desktop games! (Chess and 2048)</div>
+ <div class="inner">
+ <a href="2020-08-30.png"><img src="thumb.2020-08-30.png"></a>
+ <p class="info">
+ I've always been a fan of desktop games, ever since the days of the
+ Microsoft Entertainment Pack.
+ <br><br>
+ Here we were joined by two great games, a 2048 clone by Ali &amp; Sergey,
+ and a Chess game by Peter. The chess engine is still pleasantly stupid,
+ so I can even beat it myself!
+ <br><br>
+ Also of note: the awesome icons in the system menu! Many of them were
+ drawn by thankyouverycool (so thank you, thankyouverycool, very cool!)
+ <br><br>
+ Even more: the "About" box was redesigned by Nick, and Buggie the system
+ mascot was drawn by Simon! These things happened much earlier but I'm
+ mentioning them here since they are visible in the screenshot.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-09-22:</b> Git integration in the HackStudio IDE</div>
+ <div class="inner">
+ <a href="2020-09-22.png"><img src="thumb.2020-09-22.png"></a>
+ <p class="info">
+ Itamar started adding support for Git integration (diffing, staging, commits)
+ to the HackStudio IDE.
+ <br><br>
+ Note that this is an optional feature that is only available if you have the
+ <code>git</code> port installed. HackStudio is the only program in the system
+ that makes use of ports since we don't have our own implementations of
+ git, a compiler, or a linker... yet. :^)
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-09-29:</b> Playing with the Spreadsheet application</div>
+ <div class="inner">
+ <a href="2020-09-29.png"><img src="thumb.2020-09-29.png"></a>
+ <p class="info">
+ The Spreadsheet app was started by Ali and is powered internally by the
+ LibJS JavaScript engine. Cell expressions are evaluated as JS.
+ It feels really neat so far, although we're still figuring out
+ how it should work.
+ <br><br>
+ It even has built-in documentation, which is generated from the JavaScript
+ source code!
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-10-03:</b> Copying images between applications!</div>
+ <div class="inner">
+ <a href="2020-10-03.png"><img src="thumb.2020-10-03.png"></a>
+ <p class="info">
+ While we've had a system clipboard for a long time, it only recently
+ became possible to copy anything other than text between apps.
+ <br><br>
+ Here I had just added an image context menu in the Browser so you can
+ copy images from the web directly to the clipboard!
+ <br><br>
+ Also on display: the PixelPaint app (formerly PaintBrush), which became
+ a layer-based image editor in the last year.
+ </p>
+ </div>
+ </div>
+
+ <div class="shot">
+ <div class="title"><b>2020-10-10:</b> Making this very webpage!</div>
+ <div class="inner">
+ <a href="2020-10-10.png"><img src="thumb.2020-10-10.png"></a>
+ <p class="info">
+ I had to fix some CSS bugs in the LibWeb engine while putting together
+ this page. I have also discovered a whole bunch of things that need
+ fixing. But this is where we are right now!
+ <br><br>
+ <b><font color="#404">Happy 2nd birthday SerenityOS! I'm so proud of you, and of all the people who have worked on you!</font></b>
+ </p>
+ </div>
+ </div>
+
+ <h2>Conclusion</h2>
+
+ <p>
+ And with that, this little tour of the second year of Serenity is over!
+ </p>
+ <p>
+ If you would like to see more, I've continued the tradition of making a monthly
+ round-up video at the end of each month. You can find them in
+ <a href="https://www.youtube.com/playlist?list=PLMOpZvQB55bfp6ykOLayLqLrjcpv_Sw3P">a special playlist</a>
+ on my YouTube channel.
+ </p>
+
+ <h2>Thanks</h2>
+
+ <p>
+ To all the lovely people have helped out in the last year, with code, bug reports,
+ man pages, commenting/liking/sharing my videos, sending letters, chilling on IRC,
+ retweeting my shower thoughts, telling your friends, etc, thank you!
+ I'm eternally grateful for all the love and support this project gets.
+ </p>
+ <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>.
+
+ I hope to be able to do this full time some day, and your continued support
+ is keeping the dream alive!
+ </p>
+ <p>
+ All right, let's keep pushing forward into year 3!
+ </p>
+ <p>
+ <i>Andreas Kling, 2020-10-10</i>
+ </p>
+ <p>
+ <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>
+ <script>
+ var g = document.getElementById("greeting");
+ var gi = 0;
+ var gt = "hello friends!";
+ setInterval(function() {
+ gi++;
+ if (gi == g.innerHTML.length)
+ gi = 0;
+ var t1 = gt.substring(0, gi);
+ var t2 = gt.substring(gi, gt.length);
+ var nt = t1.toUpperCase() + t2.toLowerCase();
+ g.innerHTML = nt;
+ }, 250);
+
+ // FIXME: We don't load the YouTube embeds on SerenityOS for now since they
+ // bog down performance massively and we can't play video yet anyway.
+ if (navigator.platform != "SerenityOS") {
+ for (iframe of document.getElementsByTagName("iframe")) {
+ iframe.setAttribute("src", iframe.getAttribute("data-src"));
+ }
+ } I
+ </script>
+</body>
+</html>
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2018-10-10.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2018-10-10.png
new file mode 100644
index 0000000000..6627c243ac
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2018-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2018-11-08.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2018-11-08.png
new file mode 100644
index 0000000000..3a8ad5f9b7
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2018-11-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-09.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-09.png
new file mode 100644
index 0000000000..5001649b57
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-10.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-10.png
new file mode 100644
index 0000000000..bb6605432a
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-21.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-21.png
new file mode 100644
index 0000000000..572f6e6b3c
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-21.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-29.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-29.png
new file mode 100644
index 0000000000..6e6b9eba8f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-01-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-03.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-03.png
new file mode 100644
index 0000000000..3d71658b7f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-03.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-08.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-08.png
new file mode 100644
index 0000000000..abb08826f4
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-08.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-11.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-11.png
new file mode 100644
index 0000000000..64ee82d65d
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-28.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-28.png
new file mode 100644
index 0000000000..ed81ed34f9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-02-28.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-04.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-04.png
new file mode 100644
index 0000000000..47f9ec4756
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-04.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-07.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-07.png
new file mode 100644
index 0000000000..65a4b89586
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-07.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-12.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-12.png
new file mode 100644
index 0000000000..a96b1c009b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-12.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-15.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-15.png
new file mode 100644
index 0000000000..3c1e6b0ea2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-15.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-29.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-29.png
new file mode 100644
index 0000000000..8e364a1089
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-03-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-11.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-11.png
new file mode 100644
index 0000000000..178d5be4b5
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-11.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-14.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-14.png
new file mode 100644
index 0000000000..729a9ce51f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-20.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-20.png
new file mode 100644
index 0000000000..7e6f401f8f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-20.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-22.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-22.png
new file mode 100644
index 0000000000..a74331d8b4
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-29.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-29.png
new file mode 100644
index 0000000000..6fb6fa484e
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-04-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-06-14.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-06-14.png
new file mode 100644
index 0000000000..bf40d69502
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-06-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-07-14.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-07-14.png
new file mode 100644
index 0000000000..b415a92210
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-07-14.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-08-27.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-08-27.png
new file mode 100644
index 0000000000..be6eda09cd
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-08-27.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-09.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-09.png
new file mode 100644
index 0000000000..4391ffb4df
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-09.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-29.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-29.png
new file mode 100644
index 0000000000..a1e760235f
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-09-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-06.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-06.png
new file mode 100644
index 0000000000..1e5131c350
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-06.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-10.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-10.png
new file mode 100644
index 0000000000..91745429a2
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-31.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-31.png
new file mode 100644
index 0000000000..4637daf37b
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-10-31.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-11-30.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-11-30.png
new file mode 100644
index 0000000000..3076eebd48
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2019-11-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-01-31.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-01-31.png
new file mode 100644
index 0000000000..fe7424f87c
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-01-31.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-22.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-22.png
new file mode 100644
index 0000000000..b7bc810e4d
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-29.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-29.png
new file mode 100644
index 0000000000..13de4708c7
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-02-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-03-31.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-03-31.png
new file mode 100644
index 0000000000..044f652359
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-03-31.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-05-30.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-05-30.png
new file mode 100644
index 0000000000..83188b48cb
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-05-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-22.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-22.png
new file mode 100644
index 0000000000..644f58df81
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-30.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-30.png
new file mode 100644
index 0000000000..7ad1b96c5a
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-06-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-07-27.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-07-27.png
new file mode 100644
index 0000000000..2badd7dfad
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-07-27.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-08-30.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-08-30.png
new file mode 100644
index 0000000000..ac8b7eadc9
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-08-30.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-22.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-22.png
new file mode 100644
index 0000000000..764601c7fb
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-22.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-29.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-29.png
new file mode 100644
index 0000000000..7049596df1
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-09-29.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-03.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-03.png
new file mode 100644
index 0000000000..9249ceaaf4
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-03.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-10.png b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-10.png
new file mode 100644
index 0000000000..6e54f67357
--- /dev/null
+++ b/Meta/Websites/serenityos.org/happy/2nd/thumb.2020-10-10.png
Binary files differ
diff --git a/Meta/Websites/serenityos.org/index.html b/Meta/Websites/serenityos.org/index.html
new file mode 100644
index 0000000000..a71d72e7fc
--- /dev/null
+++ b/Meta/Websites/serenityos.org/index.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>SerenityOS</title>
+ <style>
+ body { font-family: sans-serif; }
+ </style>
+</head>
+<body>
+<img src="banner.png" alt="SerenityOS">
+<h1>SerenityOS</h1>
+<b>A graphical Unix-like operating system for desktop computers!</b>
+
+<p>SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.</p>
+
+<p>Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix.</p>
+
+<p>This is a system by us, for us, based on the things we like.</p>
+
+<p><b>Project:</b></p>
+<ul>
+ <li><a href="https://github.com/SerenityOS/serenity">SerenityOS on GitHub</a> <b>(Go here if you're new!)</b></li>
+ <li><a href="bounty/">Bug bounty program</a></li>
+ <li><a href="faq/">Frequently asked questions</a></li>
+ <li><b>#serenityos</b> on Freenode IRC</li>
+</ul>
+
+<p><b>About:</b></p>
+<ul>
+ <li><a href="https://en.wikipedia.org/wiki/SerenityOS">SerenityOS on Wikipedia</a></a>
+</ul>
+
+<p><b>Sponsoring development:</b></p>
+<ul>
+ <li><a href="github-sponsors/">GitHub Sponsors</a></li>
+ <li><a href="https://www.patreon.com/serenityos">Patreon</a></li>
+</ul>
+
+<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/2nd/">Happy 2nd birthday! SerenityOS: The second year</a> <font color=red>(new!)</font></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>
+
+</body>
+</html>