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
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.
mention tree walk ftw(), nftw, fnmatch() for FS traversal (POSIX)
Plus the note on setitimer() should be changed and mention an obsolete timer(2) call.
Starting with release v91 the PDFs generated via Github Actions seems to have the paper size wrong. v90 (Nov 2022) is fine.
possibly because the slide
is part of the slidecontents
command ?
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.
mff.devnull.cz can then pull the changes from the branch periodically.
ostatni.tex
leftovers.tex
add divider + mini-chapters
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.
maybe do a generic debugger slide (describing what debugger can do etc.)
Just mention inetd somewhere around select/poll.
Use \sltitle
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.
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.
remove distributed OS pic
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.
https://daniel.haxx.se/docs/poll-vs-select.html has excellent summary + links to the notorious C10K page.
The pageref links point to bad bad pages in PDF documents.
Once translated, run spell checker on the document.
defines for SUSv3, SUSv4
Currently the POSIX semaphore slides are duplicated - once in "Process synchronization" and once in "Threads"
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).
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.
add more examples showing most of the signals
make clear where the user area is
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.
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
.
pageref the 2 fd slides (with drawings)
need to agree on tagging scheme for the repo (so that pdf files can be automatically published)
Under "Working with a named pipe" in file-api.tex there is a commented out section in Czech. Either remove or translate it.
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.