My Personal Notes
Repository: https://github.com/efurlanm/home/
Webpage: https://efurlanm.github.io/home/
Welcome to my random personal notes that I collect over time, on the most varied subjects, such as design and implementation of languages, theory, internals, computer architecture, machine learning, high performance processing, programming, cluster, containers, books, links, tips and tricks, curiosities and others.
The webpage is generated from plain text formatting files called Markdown files available in the repository directories. MkDocs is a tool used to convert these Markdown files into the webpages you see. Some Markdown files are linked directly in the text, while others only appear as menu items. For Jupyter Notebook files, Markdown files are created automatically and also appear in the menu. It's important to note that there are many other files in the repository that don't appear on the website itself. To see everything, you can browse the repository directly.
This repository is permanently under construction, so its contents change constantly |
Some directories and files in this repository
(unsorted)
- HPC - repository containing my personal notes on High-Performance Computing (HPC). Efficient language design and implementation are crucial for HPC because they directly impact the performance, scalability, and usability of HPC applications. Languages designed specifically for HPC, such as domain-specific languages (DSLs), can optimize parallelism, manage complex computations, and provide abstractions that simplify the development of high-performance code. Additionally, well-designed compilers and interpreters for these languages can further enhance performance by optimizing code execution on HPC systems.
- Cluster/ - notes on my personal home cluster.
- PAPI/ - portable performance counter library and related infos.
- SDumont/ - my notes about the Santos Dumont supercomputer.
- IDRIS/ - directory containing the MPI course, with many examples in F90, from the Institut du Développement et des Ressources en Informatique Scientifique (IDRIS).
- Articles/ - interesting articles that I collect over time.
- Python - my personal notes on Python-related topics that I find interesting.
- Moving Forth - my personal notes on Brad Rodriguez's Moving Forth.
- Fortran - my personal notes about Fortran, a high -level programming language that is historically linked to HPC due to its efficient handling of numerical and scientific calculations.
- C - directory with my personal notes on the C programming language, which has efficiency and the ability to directly manipulate hardware resources, allowing optimized performance for compute-intensive tasks.
- Assembly - my personal notes on the Assembly programming language.
- Vintage - vintage computer internals.
- Courses - list of courses I took at INPE.
Directories mirrored from ftp://ftp.liv.ac.uk/pub/
- http://github.com/efurlanm/home/tree/main/src/F90Course
- http://github.com/efurlanm/home/tree/main/src/HPFCourse
- http://github.com/efurlanm/home/tree/main/src/HPFFMatter
- http://github.com/efurlanm/home/tree/main/src/HTMLHPFCourse
The above directory listing can also be found at
- http://web.archive.org/web/20170706012641/ftp://ftp.liv.ac.uk/pub/F90Course
- http://web.archive.org/web/20170706012641/ftp://ftp.liv.ac.uk/pub/HPFCourse
- http://web.archive.org/web/20170706012641/ftp://ftp.liv.ac.uk/pub/HPFFMatter
("HTMLHPFCourse" is the content of the compressed file HTMLHPFCourse.tar.gz)
Selected topics
- Compilers course (in Portuguese) - lecture notes from the course I teach.
Selected books & papers
- A Construção de um Compilador (Building a Compiler), by VW Setzer & ISH Melo - page with my personal notes about the book.
- Threaded Interpretive Languages: Their Design and Implementation, by RG Loeliger - explores the principles and architecture of threaded interpretive languages, with a specific focus on Forth-like languages.
- Threaded code designs for Forth interpreters, by PJ Hong - techniques for implementing threaded code in Forth interpreters.
- Library with several books on compilers, computers, and programming.
Forums
- Reddit Programming Languages - discussion of programming languages, programming language theory, design, their syntax and compilers.
- Reddit Compilers - community where people discuss topics related to compiler design, construction, and theory.
- comp.compilers newsgroup - forum within Usenet dedicated to discussions about compiler design, implementation, and usage.
Wikibooks & Wikipedia
- Compiler - from the book Introduction to Software Engineering. Overview of compilers, explaining how they transform source code written in a high-level programming language into machine code or another lower-level language.
- Compiler Construction - provides a detailed guide on the theory and practice of compiler construction, including lexical analysis, parsing, semantic analysis, optimization, and code generation.
- Compiler - in-depth overview of compilers, which are programs that translate source code written in a high-level programming language into machine code, assembly code, or an intermediate code.
- History of compiler construction - historical overview of the development of compilers from the early days of computer science to the modern era. It discusses key milestones, influential projects, and significant advancements in compiler technology over the years.
- Threaded code - programming technique where the code consists primarily of subroutine calls.
Links of interest
- Dynamic Load-balancing: A New Strategyfor Weather Forecast Models, by Rodrigues, E. R. - the thesis includes approaches such as compiler, processor, Thread, TLS, GDT, LDT, PAPI, Assembly, etc.
License
My work follows the CC-BY-4.0 license. The works of other authors follow their licenses.
Last edited: 2025-01-05