Training offering for companies

Welcome to my software training site. All of my course offerings are in English, the world language of computing but you can still ask me to speak Czech if that is more convenient.

  • Software development without any VCS
  • First steps with Git
  • Working with existing projects
  • Git architecture
  • Additional tools
  • Online cooperation
  • Hooks and automation
  • Offline cooperation possibilities
  • About Python
  • Interactive interpreter
  • Variables, objects, identity, assignment
  • Basic input/output and string formatting
  • Executable scripts, modules and packages
  • Control flow (loops, conditions, exceptions)
  • Input, output, file access, internationalization, unicode
  • Functions, local variables
  • Classes, instances, attributes, methods
  • Constructors and inheritance
  • Standard library bits
  • Available literature
  • Overview of topics from previous course
  • Project organization
  • Python versions and 3.x and 2.x differences
  • Functions, argument list, argument dictionary
  • Generators and iterators
  • Classes, methods, attributes
  • Text processing
  • Working with binary data
  • HTTP client and server
  • Serialization and persistence
  • Logging and debugging
  • Dynamic code generation
  • Managing subprocesses
  • Parallel programming, threads and processes
  • Available literature
  • Low level standard library functions in Python
  • Using ctypes library for calling standard library functions
  • POSIX programming in Python
  • Where bash fails but Python wins
  • Using Linux container technology (namespaces)
  • Debugging binaries with Python and ptrace
  • Connecting all of that together
  • Writing simple programs
  • Compiler, linker and makefiles
  • Basic data types
  • Working with text, input and output
  • Control structures
  • Dynamic data types
  • Advanced data structures and polymorphism
  • ANSI versus POSIX I/O
  • Library versus syscalls
  • File descriptors and operations
  • Sockets and getaddrinfo
  • Processes
  • Threads
  • Synchronization and shared memory
  • Signal handling
  • I/O multiplexing
  • Tracing system calls, library calls and network traffic
  • Debugging information
  • Basic GNU Debugger usage·
  • Advanced debugging techniques
  • Core dump analysis
  • Build systems and programming languages
    • Makefile
    • Autotools, CMake, meson
    • Python
  • RPM package builds
    • rpmbuild
    • notes on distributions
    • notes on mock and open build service