devnull-cz / unix-linux-prog-in-c Goto Github PK
View Code? Open in Web Editor NEWUnix/Linux Programming in C course materials
Home Page: https://devnull-cz.github.io/unix-linux-prog-in-c/
License: Other
Unix/Linux Programming in C course materials
Home Page: https://devnull-cz.github.io/unix-linux-prog-in-c/
License: Other
make clear where the user area is
from #42: On page 58, warn() should have a bullet and the items underneath should have a dash (but it seems right in intro.tex). Bullet points in the boxes on 62, 63, 64, 68, 69, 70, 72 also seem incorrect (functions should have the bullets).
pageref the 2 fd slides (with drawings)
add more examples showing most of the signals
The list of books in the materials contains mostly old books. Read this one (https://www.amazon.com/dp/1593272200) and consider adding it in.
The examples should be generated with a macro so that they are clearly separated from the rest of the text in notes, e.g. use a box, headline etc.
Plus the note on setitimer() should be changed and mention an obsolete timer(2) call.
The pageref links point to bad bad pages in PDF documents.
When building with pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021 Gentoo Linux) (preloaded format=pdflatex) / LaTeX2e <2020-10-01> patch level 4
/ L3 programming layer <2021-02-18>
, the build fails with:
(/usr/share/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)))
(/usr/share/texmf-dist/tex/latex/upquote/upquote.sty)
! Extra \endgroup.
\document ->\endgroup
\the \before@document \begingroup \UseOneTimeHook {beg...
l.156 \begin{document}
Looking for \endgroup
, it can be found in the pstex images under img/tex
directory and also in xcomment.tex
.
add divider + mini-chapters
The utility slides contains refs to stuff like sccs
. Move the legacy utils to notes (mention they are part of SUS) and replace the slide contents with up to date utils.
Just mention inetd somewhere around select/poll.
possibly because the slide
is part of the slidecontents
command ?
somewhere in the notes below the slides
The picture needs to show a.out and ld.so.1 in the same virtual address space, main() functions for both, one or two mapped in dynamic libraries within the same address space, and possibly the ELF dynamic section listing those libraries.
The linger.c
code that is referenced from the close() slide includes calls to getaddrinfo() and setsockopt() which follow on later slides. Move the SO_LINGER content and comments to the notes below the setsockopt() slide.
defines for SUSv3, SUSv4
Starting with release v91 the PDFs generated via Github Actions seems to have the paper size wrong. v90 (Nov 2022) is fine.
Currently the POSIX semaphore slides are duplicated - once in "Process synchronization" and once in "Threads"
Once translated, run spell checker on the document.
maybe do a generic debugger slide (describing what debugger can do etc.)
remove distributed OS pic
Use \sltitle
Currently the release is created with just the commented PDF due to actions/upload-release-asset#28
Once this is resolved, upload the slides PDF as well.
need to agree on tagging scheme for the repo (so that pdf files can be automatically published)
mff.devnull.cz can then pull the changes from the branch periodically.
In the pdf index under section network programming
subtopic close
refers to a much earlier place in the document, which talks about general UNIX APIs and not about the relation of close
to socket file descriptors etc. which was the intent.
ostatni.tex
leftovers.tex
Under "Working with a named pipe" in file-api.tex there is a commented out section in Czech. Either remove or translate it.
Release build contains some warnings:
Run actions/create-release@v1
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
so this seems to be a problem within the create-release
action, however that action is not maintained by Github anymore.
This can be easily demonstrated with tcp/connect and tcp/tcp-sink-server, ie. starting the server, starting the connect client, killing the server, and trying to write data to connect. It exits, $? shows 141.
This needs to be explained somewhere, possibly with the connect() slide.
mention tree walk ftw(), nftw, fnmatch() for FS traversal (POSIX)
https://daniel.haxx.se/docs/poll-vs-select.html has excellent summary + links to the notorious C10K page.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.