From time to time I teach, and sometimes I give individual talks, present papers at conferences, and so on. The topics and even the fields vary. This page presents a sample, mostly university courses and talks whose slides I’ve kept. Earlier materials may not have survived – computer technology was not as advanced in the 1990ies, and in many cases the materials were not even created using computers. This is certainly not a comprehensive collection.
Note that some of the materials are dated and reflect the technological state of the art of the time. Well, hopefully.
In all cases, if you are interested enough to look at the presentations, I strongly recommend to view them in presentation mode.
The order is more or less reverse chronological, although grouped by field/topic, thus reflecting the evolution of my interests to an extent.
Security
ITSS Summer School Lecture 2024
I have been associated with the International Team for the Study of Security (ITSS) Verona since its inception, and I serve on its Expert Team. It is a great pleasure to keep in touch with a large number of bright and intelligent young people and experts from all over the world, often with people I wouldn’t have a chance to meet in any other way.
One regular activity of ITSS is its Summer School, and each year I am invited to give a talk on the challenges of cybersecurity. The target audience is non-technical, and the content reflects that: no “cyber” at all in the technical sense of the world, but rather an overview for people who will either be making decisions or will advise decision-makers.
Here are the slides from the ITSS Summer School of 2024.
Data Science
IDC lectures on statistical methods and data analysis 2019
In 2019 I was invited to give a course in Statistical Methods and Data Analysis at the then brand new Data Analytics program at the Arison School of Business of the Interdisciplinary Center (IDC) Herzliya – now Reichman University, the first private university in Israel. The course was introductory, the students had some, albeit limited, mathematical background and were not studying to become data scientists, and I was specifically asked to provide the students with a toolkit based on the R programming language for statistical computing that the students had as a prerequisite.
Here are the lectures from the spring semester of 2019 (before Covid-19 struck). If you look carefully some of the later lectures (e.g., lectures 16-18) look short. This is partly because the course had no formal in-class exercises or a TA, and I had to spend some of the time going through homework, answering questions, and in general devoting time to preparation for the final exam.
- Lecture 1: Introduction
- Lecture 2: Data Fundamentals
- Lecture 3: Hypothesis Testing Fundamentals
- Lecture 4: Probability Basics
- Lecture 5: Hypothesis Testing: Empirical Evidence
- Lecture 6: Probability Distributions
- Lecture 7: Probability Distributions – Centers and Widths
- Lecture 8: Portfolio Optimization. Normal Distribution
- Lecture 9: Binomial Distribution. Central Limit Theorem
- Lecture 10: Sampling Fundamentals
- Lecture 11: Sampling Techniques
- Lecture 12: Confidence Intervals
- Lecture 13: Distribution Moments, Skewness and Kurtosis
- Lecture 14: CDF. Covariance and Correlation
- Lecture 15: Student’s T-Test
- Lecture 16: Are Variances Different? F-Test
- Lecture 17: Using F-Test
- Lecture 18: Testing for Normality
- Lecture 19: One Factor ANOVA
- Lecture 20: Comparing Distributions
Operating Systems
lectures on Operating systems, haifa university
I taught Operating Systems at Haifa University for a number of years. There were 2 courses, introductory and advanced, the former for undergraduates in their 3rd or 4th year, and the latter – for graduate students. If I ever find a presentable version of the advanced course lectures I will add them here. Meanwhile, here are the introductory OS course of 2006.
- Lecture 1: Introduction
- Lecture 2: Process Management 1
- Lecture 3: Process Management 2
- Lecture 4: Process Scheduling
- Lecture 5: Memory Management 1
- Lecture 6: Memory Management 2
- Lecture 7: Memory Management 3
- Lecture 8: Multiprocessor Systems
- Lecture 9: I/O
- Lecture 10: Filesystems
- Lecture 11: Security
- Lecture 12: Networking
- Lecture 13: Virtualization
linuxbios
2004 Haifux – the Haifa Linux Club – invited me to give a talk about LinuxBIOS, now known as coreboot. Apparently, they had heard that I had been popularizing LinuxBIOS among my IBM colleagues. So I happily gave a talk, calling it “Look, Ma, No BIOS!”, since there is literally no BIOS on the board that use this technology, and also because it was a “no hands” lecture as I had had no chance to tinker with LinuxBIOS on my own.
The Haifux talk is available here. The LinuxBIOS development team learned of this talk somehow and made it a part of the LinuxBIOS official documentation suite. Since then, however, it disappeared (justifiably so) and I can’t find it on the coreboot site.
Well, you can find the presentation right here: Look, Ma, No BIOS!
Individual Projects
Working at IBM Research had a nice “feature” that almost every project ended not only in artefacts that would become products or would be included in products, but also in publications and conference talks. Here are some of the talks I’ve given over the years.
encompass
Encompass became a code name for a functionality-centric image management system that we developed at IBM (I was the project lead). It was related to a larger project at IBM Research dubbed Commercial Scale-Out, and elements of it were included in a product called, at various stages Virtual System Management (VSM) or Virtual Resource Management (VRM). It concerned a method that would build a working hardware and software “stack” as a “Lego”, at scale. Today one normally does it with Docker/Kubernetes containers, but before the age of cloud, containerization, or even virtualization (remember, hardware virtualization support was introduced by Intel and AMD only in 2006) it was not too shabby.
In 2006 I presented the project at the “Virtualization Summit” organized by IBM Research, and in 2007 – at the 21st International Parallel and Distributed Processing Symposium in Long Beach, CA. Here are the presentations – with a lot of overlap between them, of course.
IP-ONLY SERVER
In 2006 I gave several public talks on our “IP-Only Server” project. It dealt with a novel, radically simplified, server architecture (I was again the lead). After the initial presentation at an internal, albeit public, seminar, I presented it at the USENIX Systems Practice and Experience Track in Boston, MA, where it generated quite a buzz. After that I was also invited to give a talk at the Technion Computer Networks Laboratory seminar, called ClubNet. Here are the last two presentations – they overlap significantly, after all they present the same work.
Blue Gene/L
This was also an IBM Research project, my first at IBM, so it really belongs to the previous section. It was so special though that it deserves a section of its own. Blue Gene/L was a monster supercomputer for that time, consisting of 65536 dual-CPU compute nodes. Its descendants live on even today.
In 2003 I gave a talk at Haifux – the Haifa Linux Club with a very technical audience – entitled “Scaling Waaaay Up”. A year later I got an invitation to give a talk at the Interdisciplinary Colloquium in Engineering and Sciences at the Tel Aviv Academic College of Engineering. 2004 was an Olympic year, like 2024, so I called the talk “Faster, Bigger, Cooler: Modern Parallel Multicomputers”, and a part of the talk was about Blue Gene/L.
- “Scaling Waaaay Up”, Haifux, 2003, Haifa, IL
- “Faster, Bigger, Cooler: Modern Parallel Multicomputers”, TACE, 2004, Tel Aviv, IL
Random Numbers
This is a talk I gave a couple of times, but the first time was, again, upon an invitation from Haifux – the Haifa Linux Club. “Pseudo-, Quasi-, and Real Random Numbers” was a subject I knew quite a bit about because I had done lots of simulations research at Bloomberg. The talk – for a very technical audience – was not about how to roll out your own random number generator, for the simple reason that it is way too difficult and tricky if this is not your field of research. If it is your field of research, you don’t need my explanations for sure. What you might learn from the lecture though is how to distinguish what really looks random from what is merely higgledy-piggledy.
“Pseudo-, Quasi-, and Real Random Numbers”, Haifux, 2003, Haifa, IL
Software Engineering
I sometimes give talks on software engineering and tools, most typically at my place of work. Here are some examples that do not include any material that was confidential at the time (or now).
- Defensive Programming, IBM, 2007. I actually gave the talk more than once at IBM, and at other places, too.
- Static Code Analysis, Voltaire, 2008. There is overlap with “defensive programming”, but the main point here is that you can do a lot without paying through the nose for expensive specialized tools, if only you get to know the tools you already have.
- Working With make(1), Making It Work, IBM, 2003. I actually started the presentation with typing “make”, and it was built from the source code (LaTeX) and appeared on the screen. I then used the makefiles as additional examples.