Websites: Import serenityos.org website changes
I hadn't synced this for a while. The repo copy now matches the live site once again.
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/34cc4803afc
BIN
Meta/Websites/serenityos.org/banner2.png
Normal file
After Width: | Height: | Size: 160 KiB |
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
BIN
Meta/Websites/serenityos.org/happy/3rd/2020-12-06.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2020-12-17.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2020-12-28.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-01-06.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-01-08.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-01-22.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-02-16.png
Normal file
After Width: | Height: | Size: 953 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-02-18.png
Normal file
After Width: | Height: | Size: 103 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-02-20.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-03-06.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-03-25.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-03-29.png
Normal file
After Width: | Height: | Size: 582 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-04-03.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-04-10.png
Normal file
After Width: | Height: | Size: 170 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-05-16-2.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-05-16.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-05-20.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-05-22.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-07-20.png
Normal file
After Width: | Height: | Size: 356 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-07-26.png
Normal file
After Width: | Height: | Size: 723 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-08-02.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-08-10.png
Normal file
After Width: | Height: | Size: 238 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-08-29.png
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-09-12.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-09-19.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/2021-10-02.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/arstechnica.png
Normal file
After Width: | Height: | Size: 293 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/bgianf.jpg
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/idanho.jpg
Normal file
After Width: | Height: | Size: 72 KiB |
622
Meta/Websites/serenityos.org/happy/3rd/index.html
Normal file
|
@ -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>
|
BIN
Meta/Websites/serenityos.org/happy/3rd/linusg.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/usermap.png
Normal file
After Width: | Height: | Size: 196 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/x86_64.png
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/yakbait.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/yakoverflow.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Meta/Websites/serenityos.org/happy/3rd/yakstack.png
Normal file
After Width: | Height: | Size: 11 KiB |
|
@ -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>
|
||||
|
|