Skip to content

Instantly share code, notes, and snippets.

View eric-unc's full-sized avatar
💭
Student

Eric Schneider eric-unc

💭
Student
View GitHub Profile

Here is a detailed breakdown of how both mechanisms work under the hood:


Dynamic Root of Trust for Measurement (DRTM): Overview

Both Intel TXT and AMD SVM/SKINIT solve the same fundamental problem: how do you establish a clean, verifiable trust anchor after the system has already booted, without having to power cycle? A Dynamic Launch is achieved with a lightweight processor bootstrap initiated through a CPU instruction. An important function of x86 Late Launch CPU instructions is that they "measure" the execution code provided for the launch — accomplished by taking a cryptographic hash using an algorithm supported by the TPM so that it may store the measurement within one of the TPM's Platform Configuration Registers (PCR). This initial measurement, referred to as the Core Root of Trust Measurement (CRTM), is the trust anchor for the DRTM.

While they share the same goal, the two implementations are architecturally quite different.

sh SecureW2_JoinNow.run
# Generates 200 empty commits
For ($i=1; $i -lt 200; $i++) {git commit -m "." --allow-empty}

More ideas

  1. Online LaTeX to PDF generator. Some already exist but eh.
  2. Resume generator; basically something with modularization. I am applying to many jobs, some of different types (application development, web development, both backend and frontend, hardware). I don't want to make a resume for each job, because that's a lot of work. Instead, I'd like a modular resume, where I can include or not include certain parts as I choose.
  3. MediaWiki abuse filter based off machine learning.
  4. GitHub actions-based version of Conway's game for my profile README (see here).
  5. Code scrambler (something like an obfuscator but more random).
  6. A compiler that gives riddles as error messages.
  7. A chat client with LaTeX support.
  8. A better version of Limp.
  9. An ALU simulator in Rust (like COMP 211 lab 7, but better).
class Problem {
public static void main(String[] args) {
int x = 0;
int y = 5;
int z = 1;
x++;
y -= 3;
z = x + z;
x = y * z;
y %= 2;

UNC STEM on YouTube

This is a list of STEM classes taught by UNC Chapel Hill where the lectures have been freely released on YouTube.

High quality is not guaranteed, and some lectures are missing, but they are useful resources nevertheless. Some of these were recorded more for internal rather than public use, but all are publicly available on YouTube, and as such they are listed freely.

These dates might be off a bit, feel free to correct me on any of them.

Computer Science (COMP)

  • COMP 110 (Introduction to Programming, taught by Professor Jordan, 2020)
  • COMP 110 (Introduction to Programming, taught by Professor Jordan, 2021)
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'airblade/vim-gitgutter'
Plugin 'tpope/vim-surround'
[ace-attorney]
rating = 6.5
comments = "It's alright, a bit slow at some parts, but enjoyable."
[assassination-classroom]
rating = 7
comments = "Decent anime."
[attack-on-titan]
rating = 7

Great ideas

(Feel free to ignore these, they are with few exceptions awful.)

  1. A voting system for playing music at a party (decent hackathon idea from 2/24).
  2. NSFW video game without malware (really awful idea from NC state friend).
  3. A Java library letting you do absurb things with Java Reflection, such as running a random static method (ridiculous idea, but would be cool to get experience making a library, using gradle, learning an API, etc).
  4. A universal music listener, like YouTube + Spotify + Apple Music + Soundcloud (decent idea).
  5. A tool that uses the laptop's camera to follow a pencil to generate notes automatically on the computer (decent idea but difficult to implement, also not necessarily more useful than CamScanner).
  6. Tarheelinder (name pending). A dating site for UNC students (not a great idea, dating sites already exist and have location settings).
  7. A hub for all UNC classes, with links to GroupMes, syllabuses, Piazza, information of some sort (decent idea, but hard to get people
// This program will convert a "minifloat" in the format of 8 bits into decimal representation, assuming a -3 exponent bias.
// For example, this will convert 01011001 to 6.25.
// THIS PROGRAM DOES NOT COVER SPECIAL CASES! I'm too lazy to add this, I spent enough time making this already.
// Author: Eric Schneider
package main
import (
"bufio"
"fmt"
"math"