A paper exploring security issues related to IOMMU-based protection of memory from malicious DMA access.
https://thunderclap.io/thunderclap-paper-ndss2019.pdf
https://thunderclap.io/thunderclap-paper-ndss2019.pdf
A home page of the NOVA project. NOVA is a hypervisor that uses Intel VT-x and AMD-V virtualization extensions and has an interface similar to the L4 microkernel API. It is written in a well-structured C++ and is small enough to be observable and clear. There are a few user level environments that support NOVA which include the Genode operating system framework.
http://hypervisor.org/
http://hypervisor.org/
hypervisor.org
NOVA Microhypervisor
A style guide used in NASA SEL for code written in ANSI C.
http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf
http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf
A paper about a new microarchitectural leakage stemming from the false dependency hazards during speculative load operations. It also includes a denoscription of the corresponding attack called SPOILER.
https://arxiv.org/pdf/1903.00446.pdf
https://arxiv.org/pdf/1903.00446.pdf
There is an excellent course explaining how processors work internally, how the one can write a translator of the assembly language and continue with development of a compiler for the higher-level language.
The authors of the course begin with Boolean logic and basic logic gates, smoothly proceed to the development of large CPU modules and lead to the full-featured processor described in own dialect of a hardware definition language.
Then they go on to design an assembly language for the processor, create a stack based VM, and then develop a compiler for own high-level programming language named JACK.
The final stage — the creation of a simple operating system and a Tetris analogue. That is why the course is called Nand to Tetris.
https://www.nand2tetris.org/course
The authors of the course begin with Boolean logic and basic logic gates, smoothly proceed to the development of large CPU modules and lead to the full-featured processor described in own dialect of a hardware definition language.
Then they go on to design an assembly language for the processor, create a stack based VM, and then develop a compiler for own high-level programming language named JACK.
The final stage — the creation of a simple operating system and a Tetris analogue. That is why the course is called Nand to Tetris.
https://www.nand2tetris.org/course
Today I found an interesting blog by Chris Wellons. The author regularly writes new posts, not limited to any specific topic. He writes about low-level programming in assembly language and C, Emacs customization, functional programming, math, and much more.
https://nullprogram.com/
https://nullprogram.com/
Nora Sandler's blog with a series on writing a compiler for a small but growing subset of the C programming language. The source code for the NQCC compiler is available on github.
https://norasandler.com/
https://norasandler.com/
Norasandler
Nora Sandler
it's a blog
An open source programming environment for kids with look of the Commodore 64's basic editor. It allows to make simple graphical demos and games in Lua.
https://github.com/antirez/load81
https://github.com/antirez/load81
GitHub
GitHub - antirez/load81: SDL based Lua programming environment for kids similar to Codea
SDL based Lua programming environment for kids similar to Codea - antirez/load81
Slides by Xavier Leroy on compiling functional languages.
https://xavierleroy.org/talks/compilation-agay.pdf
https://xavierleroy.org/talks/compilation-agay.pdf
Ultralight is an optimized WebKit-based solution for HTML UIs in C++ applications.
https://ultralig.ht/
https://ultralig.ht/
Tigr — a tiny SDL-like library for simple graphics rendering. Only Mac OS and MS Windows are supported but the library is very small and includes a bitmap font, a simple PNG loader and basic drawing procedures.
https://bitbucket.org/rmitton/tigr/overview
https://bitbucket.org/rmitton/tigr/overview
Tiny — a nice statically typed noscripting language with small embeddable compiler and VM.
https://github.com/goodpaul6/Tiny
https://github.com/goodpaul6/Tiny
GitHub
GitHub - goodpaul6/Tiny: A very small statically-typed embeddable noscripting language.
A very small statically-typed embeddable noscripting language. - goodpaul6/Tiny
A speech at CppCon 2018 by Morris Hafner about writing UEFI applications in modern C++.
https://m.youtube.com/watch?v=z6wKEJ-daD4
https://m.youtube.com/watch?v=z6wKEJ-daD4
YouTube
CppCon 2018: Morris Hafner "UEFI Applications With Modern C++"
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Inside of every PC, there is an environment capable of running arbitrary software without an operating system:…
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Inside of every PC, there is an environment capable of running arbitrary software without an operating system:…
Sourcehut is an open source project management software similar to Github but with very lightweight implementation. I works even if JavaScript is disabled in the browser! Along with such standard features as management of Git repositories and ticket tracking it has tools for continuous integration, task management, documentation (in wikis), etc.
https://sourcehut.org/
https://sourcehut.org/
sourcehut.org
sourcehut - the hacker's forge
sourcehut is a network of useful open source tools for software project maintainers and collaborators, including git repos, bug tracking, continuous integration, and mailing lists.
The following page contains a denoscription of the PCF file format's internals. PCF is a raster font format used by X Server.
https://fontforge.github.io/en-US/documentation/reference/pcf-format/
https://fontforge.github.io/en-US/documentation/reference/pcf-format/
fontforge.github.io
Format for X11 pcf bitmap font files
FontForge is free and open-source outline font editor.
I didn't know that, but as a research activity Microsoft developed a verifier for concurrent C programs. They planned to use the verifier (VCC) to prove correctness of Hyper-V.
To verify your program you have to add special annotations describing state assertions, function contracts and type invariants. VCC will generate a set of mathematical statements and try to prove them using an automatic theorem prover.
https://archive.codeplex.com/?p=vcc
To verify your program you have to add special annotations describing state assertions, function contracts and type invariants. VCC will generate a set of mathematical statements and try to prove them using an automatic theorem prover.
https://archive.codeplex.com/?p=vcc
CodePlex Archive
An archive of the CodePlex open source hosting site
