diff options
41 files changed, 656 insertions, 50 deletions
diff --git a/Meta/Websites/serenityos.org/banner2.png b/Meta/Websites/serenityos.org/banner2.png Binary files differnew file mode 100644 index 0000000000..9f49c664fe --- /dev/null +++ b/Meta/Websites/serenityos.org/banner2.png 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 Binary files differnew file mode 100644 index 0000000000..78e06d3c9f --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2020-12-06.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2020-12-17.png b/Meta/Websites/serenityos.org/happy/3rd/2020-12-17.png Binary files differnew file mode 100644 index 0000000000..b0be305a63 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2020-12-17.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2020-12-28.png b/Meta/Websites/serenityos.org/happy/3rd/2020-12-28.png Binary files differnew file mode 100644 index 0000000000..d67534af1d --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2020-12-28.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-01-06.png b/Meta/Websites/serenityos.org/happy/3rd/2021-01-06.png Binary files differnew file mode 100644 index 0000000000..0d782863d3 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-01-06.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-01-08.png b/Meta/Websites/serenityos.org/happy/3rd/2021-01-08.png Binary files differnew file mode 100644 index 0000000000..4ea88a18e1 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-01-08.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-01-22.png b/Meta/Websites/serenityos.org/happy/3rd/2021-01-22.png Binary files differnew file mode 100644 index 0000000000..a0c4701143 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-01-22.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-02-16.png b/Meta/Websites/serenityos.org/happy/3rd/2021-02-16.png Binary files differnew file mode 100644 index 0000000000..88e6dfe9fe --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-02-16.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-02-18.png b/Meta/Websites/serenityos.org/happy/3rd/2021-02-18.png Binary files differnew file mode 100644 index 0000000000..43cfe11909 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-02-18.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-02-20.png b/Meta/Websites/serenityos.org/happy/3rd/2021-02-20.png Binary files differnew file mode 100644 index 0000000000..5c1377d189 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-02-20.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-03-06.png b/Meta/Websites/serenityos.org/happy/3rd/2021-03-06.png Binary files differnew file mode 100644 index 0000000000..3c03cf6e57 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-03-06.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-03-25.png b/Meta/Websites/serenityos.org/happy/3rd/2021-03-25.png Binary files differnew file mode 100644 index 0000000000..16f91ce410 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-03-25.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-03-29.png b/Meta/Websites/serenityos.org/happy/3rd/2021-03-29.png Binary files differnew file mode 100644 index 0000000000..0243355a55 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-03-29.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-04-03.png b/Meta/Websites/serenityos.org/happy/3rd/2021-04-03.png Binary files differnew file mode 100644 index 0000000000..a1f30d4a72 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-04-03.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-04-10.png b/Meta/Websites/serenityos.org/happy/3rd/2021-04-10.png Binary files differnew file mode 100644 index 0000000000..151dc6e6bf --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-04-10.png 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 Binary files differnew file mode 100644 index 0000000000..b80fd050f3 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-16-2.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-05-16.png b/Meta/Websites/serenityos.org/happy/3rd/2021-05-16.png Binary files differnew file mode 100644 index 0000000000..9c2d7a6d0d --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-16.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-05-20.png b/Meta/Websites/serenityos.org/happy/3rd/2021-05-20.png Binary files differnew file mode 100644 index 0000000000..2c53c20362 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-20.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-05-22.png b/Meta/Websites/serenityos.org/happy/3rd/2021-05-22.png Binary files differnew file mode 100644 index 0000000000..02e5dc9f00 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-05-22.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-07-20.png b/Meta/Websites/serenityos.org/happy/3rd/2021-07-20.png Binary files differnew file mode 100644 index 0000000000..88a48687ce --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-07-20.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-07-26.png b/Meta/Websites/serenityos.org/happy/3rd/2021-07-26.png Binary files differnew file mode 100644 index 0000000000..54730dc4e5 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-07-26.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-08-02.png b/Meta/Websites/serenityos.org/happy/3rd/2021-08-02.png Binary files differnew file mode 100644 index 0000000000..3572653d23 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-08-02.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-08-10.png b/Meta/Websites/serenityos.org/happy/3rd/2021-08-10.png Binary files differnew file mode 100644 index 0000000000..819808f791 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-08-10.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-08-29.png b/Meta/Websites/serenityos.org/happy/3rd/2021-08-29.png Binary files differnew file mode 100644 index 0000000000..b118a69015 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-08-29.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-09-12.png b/Meta/Websites/serenityos.org/happy/3rd/2021-09-12.png Binary files differnew file mode 100644 index 0000000000..2d77a0acb6 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-09-12.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-09-19.png b/Meta/Websites/serenityos.org/happy/3rd/2021-09-19.png Binary files differnew file mode 100644 index 0000000000..5732926d5b --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-09-19.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/2021-10-02.png b/Meta/Websites/serenityos.org/happy/3rd/2021-10-02.png Binary files differnew file mode 100644 index 0000000000..881c06a157 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/2021-10-02.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/arstechnica.png b/Meta/Websites/serenityos.org/happy/3rd/arstechnica.png Binary files differnew file mode 100644 index 0000000000..5a1ed371dd --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/arstechnica.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/bgianf.jpg b/Meta/Websites/serenityos.org/happy/3rd/bgianf.jpg Binary files differnew file mode 100644 index 0000000000..23927fb9f1 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/bgianf.jpg diff --git a/Meta/Websites/serenityos.org/happy/3rd/idanho.jpg b/Meta/Websites/serenityos.org/happy/3rd/idanho.jpg Binary files differnew file mode 100644 index 0000000000..effe39db4b --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/idanho.jpg 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&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 & 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 & 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&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 & 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 Binary files differnew file mode 100644 index 0000000000..12f30e8279 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/linusg.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/usermap.png b/Meta/Websites/serenityos.org/happy/3rd/usermap.png Binary files differnew file mode 100644 index 0000000000..be52c6283f --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/usermap.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/x86_64.png b/Meta/Websites/serenityos.org/happy/3rd/x86_64.png Binary files differnew file mode 100644 index 0000000000..1456ede5d1 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/x86_64.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/yakbait.png b/Meta/Websites/serenityos.org/happy/3rd/yakbait.png Binary files differnew file mode 100644 index 0000000000..b519c8045d --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/yakbait.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/yakoverflow.png b/Meta/Websites/serenityos.org/happy/3rd/yakoverflow.png Binary files differnew file mode 100644 index 0000000000..b5e2cb4fc9 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/yakoverflow.png diff --git a/Meta/Websites/serenityos.org/happy/3rd/yakstack.png b/Meta/Websites/serenityos.org/happy/3rd/yakstack.png Binary files differnew file mode 100644 index 0000000000..45dee00628 --- /dev/null +++ b/Meta/Websites/serenityos.org/happy/3rd/yakstack.png 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> |