Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
We as rubyists tend to write software that runs on the web, without a deep understanding of what it would take to write the plumbing for that same software. I think it's useful to have a basic understanding of how some of the lower level components of a system work. I'll discuss the basics of systems programming, using Ruby. I'll talk about syscalls and kernel space vs user space. I'll cover a bit about file descriptors and what they're for. And hopefully I'll walk through a small example of a working webserver using those primitive syscalls. Help us caption & translate this video! http://amara.org/v/FGbB/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the video "Ruby Systems Programming," presented by Andy Delcambre at the Ruby on Ales conference in 2013, the speaker delves into the fundamentals of systems programming, particularly as it pertains to Ruby development. The discussion emphasizes the importance of understanding low-level system components to appreciate how high-level programming works. Key points covered in the presentation include: - **Introduction to Systems Programming**: Clarifying what systems programming entails, which includes writing software that interacts with hardware and provides a platform for application software. - **User Mode vs Kernel Mode**: Explaining the two execution modes on the CPU with a focus on user mode where applications run and kernel mode where direct hardware communication occurs. - **System Calls**: Discussing the function of system calls as a means for user-mode programs to request services from the kernel, illustrated with examples on common operations and the number of system calls made during a web server request. - **Writing a Web Server in Ruby**: Delcambre progresses to demonstrate how a basic web server can be constructed in Ruby, using socket programming to handle incoming connections and serve HTTP responses. - **TCP/IP Fundamentals**: He explains the TCP connection process, including the three-way handshake and the structure of HTTP requests and responses. - **Applicability of Concepts**: The significance of these concepts is presented as foundational for higher-level frameworks, with references to established Ruby frameworks like Unicorn that still use underlying socket APIs. In conclusion, Delcambre asserts that understanding the basic principles of systems programming is valuable for any developer, as it deepens comprehension of the infrastructure that supports modern applications. This grasp of systems programming not only enhances programming skills but also fosters appreciation for the workings behind the software we use daily.
Suggest modifications
Cancel