View del_user.sh
#!/bin/bash | |
# save as /root/del_user.sh | |
USERNAME=$1 | |
if [[ -z "$USERNAME" ]]; then | |
echo "Please give me a username" | |
exit 1 | |
fi | |
echo "This script will" |
View sharding.cc
// g++-7 sharding.cc -Wall -std=c++17 -g -pthread -O2 -ltbb | |
#include <cassert> | |
#include <cstdlib> | |
#include <cstring> | |
#include <string> | |
#include <mutex> | |
#include <shared_mutex> | |
#include <optional> | |
#include <random> |
View prog2_gbn.c
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
/* ****************************************************************** | |
ALTERNATING BIT AND GO-BACK-N NETWORK EMULATOR: VERSION 1.1 J.F.Kurose | |
This code should be used for PA2, unidirectional or bidirectional | |
data transfer protocols (from A to B. Bidirectional transfer of data | |
is for extra credit and is not required). Network properties: |
View binary_search.cpp
#include <vector> | |
/** | |
Given an non-decreasing ordered array `arr`, search the biggest `i` that makes `arr[i] == value`. | |
If `i` doesn't exist, return -1 | |
*/ | |
int search_last_match(const std::vector<int>& arr, const int value) | |
{ | |
int lef = 0, rig = static_cast<int>(arr.size()); | |
while (rig-lef > 1) |
View prog2_abp.c
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
/* ****************************************************************** | |
ALTERNATING BIT AND GO-BACK-N NETWORK EMULATOR: VERSION 1.1 J.F.Kurose | |
This code should be used for PA2, unidirectional or bidirectional | |
data transfer protocols (from A to B. Bidirectional transfer of data | |
is for extra credit and is not required). Network properties: |
View ICMPPinger.py
import os | |
import sys | |
import struct | |
import time | |
import select | |
import socket | |
import binascii | |
ICMP_ECHO_REQUEST = 8 |
View c2nasm.bash
#!/bin/bash | |
# thanks to http://stackoverflow.com/a/20743090 | |
# thanks to https://github.com/diogovk/c2nasm | |
# install objconv: https://github.com/vertis/objconv | |
# | |
# $1: source code | |
set -e | |
C_FILE="$1" | |
BASE_NAME="${C_FILE%.*}" |
View cache-prefetching.cc
// g++ cache-prefetching.cc -Wall -std=c++11 -g -pthread -O2 | |
#include <string> | |
#include <vector> | |
#include <mutex> | |
#include <random> | |
#include <chrono> | |
#include <thread> | |
#include <iomanip> | |
#include <iostream> |
View cs140e-os-branch-master.patch
diff -ruN orig/bootloader/Xargo.toml new/bootloader/Xargo.toml | |
--- orig/bootloader/Xargo.toml 2018-07-18 23:59:41.000000000 +0800 | |
+++ new/bootloader/Xargo.toml 2018-07-19 22:31:03.000000000 +0800 | |
@@ -2,10 +2,6 @@ | |
core = {} | |
std_unicode = {} | |
-[dependencies.compiler_builtins] | |
-features = ["mem"] | |
-stage = 1 |
View cs140e-os-branch-2-fs.patch
diff -ruN orig/kernel/src/allocator/bin.rs new/kernel/src/allocator/bin.rs | |
--- orig/kernel/src/allocator/bin.rs 2018-08-02 19:23:14.000000000 +0800 | |
+++ new/kernel/src/allocator/bin.rs 2018-08-04 11:18:29.000000000 +0800 | |
@@ -1,5 +1,6 @@ | |
use std::fmt; | |
-use alloc::heap::{AllocErr, Layout}; | |
+use core::alloc::{AllocErr, Layout}; | |
+use core::ptr::NonNull; | |
use allocator::util::*; |
NewerOlder