TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Low-Level Academy, an explorable systems programming course

419 点作者 nbaksalyar超过 4 年前

16 条评论

nbaksalyar超过 4 年前
Hey HN,<p>For the last couple of months, I have been working on a new interactive course to teach systems programming. Basically, it can be described as &quot;Khan Academy for low-level coding&quot;. It is built with Rust and it uses WebAssembly and JavaScript to visualize what happens when you run your code. This idea was inspired by Bret Victor&#x27;s &quot;Learnable Programming&quot;, and you can read more about it in the blog [0]. The code is also publicly available [1].<p>Any feedback is welcome.<p>Thank you!<p>[0]: <a href="https:&#x2F;&#x2F;lowlvl.org&#x2F;blog&#x2F;explorable-programming" rel="nofollow">https:&#x2F;&#x2F;lowlvl.org&#x2F;blog&#x2F;explorable-programming</a><p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;lowlevelacademy" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;lowlevelacademy</a>
评论 #24776386 未加载
评论 #24773742 未加载
评论 #24776999 未加载
评论 #24764620 未加载
评论 #24766635 未加载
sai_c超过 4 年前
<p><pre><code> &quot;I have always been passionate and curious about systems programming. At a first glance, this area of knowledge might seem very complicated and even impenetrable for a lot of people. Thankfully, with Rust, the tide has started to turn: the Rust community has demonstrated that sometimes the perceived complexity is rooted in the lack of support, tools, and educational content.&quot; </code></pre> I have a question for the Rust community, especially those doing low level development now. As someone who does embedded and systems programming in C for about twenty years (technically i&#x27;m not 40 yet ;-)), were the cited problems (lack of documentation, support and tools) really problems that kept from doing low level work? If not, what was it then?<p>I&#x27;m genuinely curious, because when I started it was more things like hardware bugs (yes they do exist) or the general theory of things (like writing a performant scheduler or file system) that seemed hard to me.
olah_1超过 4 年前
This reminds me of Programming from the Ground Up[1]. Although this seems to focus much more on networking.<p>I wonder if someone could write a Programming from the Ground Up style book and use WASM instead of x86 Assembly.<p>[1]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11702025" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11702025</a>
评论 #24766641 未加载
gavinray超过 4 年前
This looks fantastic, I would be willing to pay money for this honestly. Might sponsor development.
评论 #24772671 未加载
kaeland超过 4 年前
As someone who’s interested in low-level programming, I’d really like to say thank you for creating this.<p>Are there ways that others can support this work?
评论 #24766288 未加载
评论 #24766815 未加载
mjayhn超过 4 年前
This is neat.<p>I really want to make some sort of sre&#x2F;distsys&#x2F;ops training ground to go through a mixture of systems design and operational skills (troubleshooting, observability, firedrills) but the interfaces and integrations of the moocs I&#x27;ve tried are so ill-fitting for the task and the good options (which I can&#x27;t think of right now, there&#x27;s one that&#x27;ll integrate into aws&#x2F;gcp and give you &quot;playgrounds&quot;) are too expensive for a lone dev- they&#x27;re full on corporate training grounds (are they any good? never used one).<p>There are &quot;k8s&#x2F;cluster playgrounds&quot; and what not but they&#x27;re so not operationally-forward in most cases, just extremely basic and not really relative to a day in the life of a cluster&#x2F;systems operator at all.<p>I like how you&#x27;ve set this up, I actually want to go through the lessons, great work.
Aaronstotle超过 4 年前
This is great! I&#x27;m not much of a programmer yet, but I can feel the underlying urge grow stronger by the day. Getting my copy of Unix Network Programming today in the mail, will definitely be checking this course out.
Dangeranger超过 4 年前
Thanks for making this.<p>It looks like your code is dual-licensed between MIT and Apache. How do you indicate which code is under which license? Also, just a heads up, it looks like you need to update the Apache template with current dates and your name.[0]<p>I appreciate you making this material open-source. Do you plan to add a CONTRIBUTING.md to instruct those who want to help to understand how to start?<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;LowLevelAcademy&#x2F;LowLevelAcademy&#x2F;blob&#x2F;master&#x2F;LICENSE-APACHE" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;LowLevelAcademy&#x2F;LowLevelAcademy&#x2F;blob&#x2F;mast...</a>
评论 #24768326 未加载
Serious_Cheese超过 4 年前
Hi Nikita, this is a fantastic idea. I&#x27;ve have been working with low level programming for a long time and would love to contribute new lessons. How can I do that?
评论 #24766168 未加载
charlysl超过 4 年前
I am a bit late to the party, but as it happens some top universities have made some of their systems programming courses publicly available, and if you want to get into systems programming, these free options are much deeper, comprehensive, and come with extensive coding assignments that include tests and have been crafted by talented TAs over many years, to help keep you on the straight and narrow:<p>[1] Operating Systems Engineering: MIT 6.828 (in C and a bit of x86 assembly, 2011 has videos for all lectures, bad image but outstanding content)<p>[2] Distributed Systems Engineering: MIT 6.824 (2020, in golang)<p>[3, 4, 5] Database Engineering: MIT 6.830 from OCW (2010, Java), complement with Pavlo&#x27;s youtube videos and Stonebraker TA notes.<p>[6] Security Engineering: MIT 6.858 (2020, web, python, C, assembly, etc)<p>[7, 8] Computer Networks: Stanford cs144, get videos from youtube, assignments from their website (in C&#x2F; C++)<p>[9] Compilers: Stanford, the website has all videos and assignments (in Java or C++, RISC target)<p>[10] Software Performance Engineering: MIT 6.172 (2018 in OCW, in C&#x2F;C++ and a bit of x86 assembly)<p>[1] <a href="https:&#x2F;&#x2F;pdos.csail.mit.edu&#x2F;6.828&#x2F;2011&#x2F;schedule.html" rel="nofollow">https:&#x2F;&#x2F;pdos.csail.mit.edu&#x2F;6.828&#x2F;2011&#x2F;schedule.html</a><p>[2] <a href="https:&#x2F;&#x2F;pdos.csail.mit.edu&#x2F;6.824&#x2F;schedule.html" rel="nofollow">https:&#x2F;&#x2F;pdos.csail.mit.edu&#x2F;6.824&#x2F;schedule.html</a><p>[3] <a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-computer-science&#x2F;6-830-database-systems-fall-2010&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-compu...</a><p>[4] <a href="http:&#x2F;&#x2F;marcua.net&#x2F;notes&#x2F;6.830&#x2F;" rel="nofollow">http:&#x2F;&#x2F;marcua.net&#x2F;notes&#x2F;6.830&#x2F;</a><p>[5] <a href="https:&#x2F;&#x2F;m.youtube.com&#x2F;playlist?list=PLSE8ODhjZXja3hgmuwhf89qboV1kOxMx7" rel="nofollow">https:&#x2F;&#x2F;m.youtube.com&#x2F;playlist?list=PLSE8ODhjZXja3hgmuwhf89q...</a><p>[6] <a href="https:&#x2F;&#x2F;css.csail.mit.edu&#x2F;6.858&#x2F;2020&#x2F;" rel="nofollow">https:&#x2F;&#x2F;css.csail.mit.edu&#x2F;6.858&#x2F;2020&#x2F;</a><p>[7] <a href="https:&#x2F;&#x2F;cs144.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;cs144.github.io&#x2F;</a><p>[8] <a href="https:&#x2F;&#x2F;m.youtube.com&#x2F;playlist?list=PLvFG2xYBrYAQCyz4Wx3NPoYJOFjvU7g2Z" rel="nofollow">https:&#x2F;&#x2F;m.youtube.com&#x2F;playlist?list=PLvFG2xYBrYAQCyz4Wx3NPoY...</a><p>[9] <a href="http:&#x2F;&#x2F;openclassroom.stanford.edu&#x2F;MainFolder&#x2F;CoursePage.php?course=Compilers" rel="nofollow">http:&#x2F;&#x2F;openclassroom.stanford.edu&#x2F;MainFolder&#x2F;CoursePage.php?...</a><p>[10] <a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-computer-science&#x2F;6-172-performance-engineering-of-software-systems-fall-2018&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-compu...</a><p>No hip new languages or platforms, but if you are new to this I think it&#x27;s better to focus first on battle tested concepts and approaches, from a curriculum that was fine tuned by top universities and professors (many of which made significant contributions to the field) over the years, then the bleeding edge stuff will be a walk in the park, because you will have learned what the tradeoffs are and where innovations are coming from.<p>As for prereqs, if you are a confident programmer, you can dive right in (6.004 is good but not essential, 6.033 is a bit of a slog on your own with all that paper reading and that brick of a book, and no programming, it is good but I found it just too hard to stay interested, skipped that part, but the videos in youtube are an excellent intro to systems design and concepts, I recommend you watch them first). But better if you know your algorithms first (do the excellent MIT 6.006), specially for 6.172 (the mantra here is to get your algos right before attempting any other kind of optimization), and maybe the database (hashes, trees and dynamic programming come in handy) and compiler courses (graph coloring for register allocation, for instance).<p>But, whatever you do, start with 6.828 operating systems, this is considered the MIT intro course to systems programming, and they explicitly avoid all but the most basic algorithms, in order not to distract from the core system concepts. More sophisticated approaches are introduced in the second half, once you&#x27;ve got the basics under your belt.
评论 #24787315 未加载
ryeguy_24超过 4 年前
If you are trying to find future customers, I might me one. I&#x27;m immensely interested in moving lower and lower down the abstraction layer for education purposes. I&#x27;d definitely be interested in taking these courses.
评论 #24777073 未加载
Aurum197超过 4 年前
Anything that makes the opaque accessible is a worthy undertaking. Kudos!
durgaswaroop超过 4 年前
My company&#x27;s firewall blocks lowlvl.org as a malicious site! Go figure!<p>¯\_(ツ)_&#x2F;¯
harshalaxman超过 4 年前
This is really cool, I look forward to future lessons!
a6h超过 4 年前
This is so awesome. Thank you!
person_of_color超过 4 年前
Any ex-FAANG startup hiring for systems (low level) programmers, remote?