Skip to content

Home

About this Course

Start with this very concise description.

The topics are listed in this page.

Exam and slides: see my personal website.

How to use this website

This website contains a curated set of references.

References provide real-world examples, in-depth analysis, technical manuals and the like. They are intended to be a resource for those interested in delving deeper.

Please always keep in mind that the content of this website is not needed for the exam: the slides are all that is needed in this respect.

Many of the linked documents can only be fully understood with very specific technical skills (and sometimes theoretical knowledge) far beyond those required or provided by this course. Please try to focus on the topics relevant to the course. Most importantly, do not be frustrated if you do not manage to understand everything.

In many cases I do not understand everything either.

ChatGPT (and friends: Gemini, LLama, ...)

"What does this code do?"

Many technical documents rely on very specific commands from Linux, Windows, Powershell, PHP, and other technologies. Understanding these commands or their output is often difficult.

Asking ChatGPT for clarification is often a great help.

While there is no guarantee that the answer will be correct, in many cases the answer will be very useful (and indeed correct).

A prompt technique that often works well is this: "Explain this:" followed by a copy-and-pasted command, or command output, or piece of code.

Note: relying on ChatGPT for having a quick, approximate understanding of what a command (or even a piece of code) actually does is a strategy used also by a top security company, Mandiant: see Analyzing an Alert for a PowerShell Script (there might be a conflict of interest, though, as Mandiant is part of Google and this post promotes the use of a Google competitor to ChatGPT).

"How can I do that?"

If you want to "learn" something, asking broad and general questions is not very useful (e.g. "how does access control work in Windows?").

It is usually much better to start general in order to delimit the overall scenario and then be very specific:

  1. Start with something like "I want to understand Linux administration", or "I am a Windows user", "I am a Python programmer; I want to write a script that operates on Pandas dataframes", etc.
  2. Then, make a very specific question. For example, "In Windows, how can I list all users of a given group from the command line?"

Of course, always keep in mind that there is no guarantee that the answer will be correct.

I have occasionally provided a link to brief explanations provided by ChatGPT/Bard on specific topics, for ease of reading. As just pointed out, there is no guarantee that those explanations are correct: take them just as hints.

"How can I write better?"

Many web-based tools exist that are internally based on technologies "similar" to those that power ChatGPT (DeepL Write, Grammarly, ...).

You type a sentence and get a "polished" version of that sentence, (usually) grammatically correct and easier to read.

As usual, there is no guarantee that the answer will be correct, i.e. always check the meaning of the suggested sentence; sometimes it may be slightly different from what you actually mean.

You should definitely start using these tools (e.g. to improve your report).

"Can I ask ChatGPT to write my report?"

The short answer is yes.

The long answer is much more nuanced. It is very likely that:

  • You will need to use ChatGPT a lot in your future career.
  • Using ChatGPT will increase your productivity;
  • Your productivity will depend on how good you become at using ChatGPT effectively and, in particular, at

    • understanding its limitations;
    • identifying and correcting its inevitable errors.

However, you will always remain fully responsible for what you deliver.

If you deliver something correct more quickly and efficiently, fine. If you deliver something wrong, it will be your fault.

Having said that, I and my colleagues in Computer Engineering at UniTrieste have agreed to adopt the following policy in all our courses:

In any type of content produced by the student for admission to or participation in an exam (projects, reports, exercises, tests), the use of Large Language Model tools (such as ChatGPT and the like) must be explicitly declared. This requirement must be met even in the case of partial use.

Regardless of the method of assessment, the teacher reserves the right to further investigate the student's actual contribution with an oral exam for any type of content produced.