Instantly share code, notes, and snippets.

View cloc.md
Language files blank comment code
C 326 9290 7371 53030
C/C++ Header 128 1515 867 13663
Python 25 1159 351 6061
Assembly 14 104 53 465
Bourne Shell 20 90 6 293
make 1 81 67 235
Markdown 4 107 0 188
Bourne Again Shell 1 3 0 7
View gist:c028c4c931a62e21f3e1fd02ca9afe7b
/usr/local/libexec/gcc/i686-pc-toaru/6.4.0/cc1: sscanf("6.4.0", format="%d.%d.%d", ...);
/usr/local/libexec/gcc/i686-pc-toaru/6.4.0/cc1: sscanf: out 6
/usr/local/libexec/gcc/i686-pc-toaru/6.4.0/cc1: sscanf: out 4
/usr/local/libexec/gcc/i686-pc-toaru/6.4.0/cc1: sscanf: out 0
/usr/local/lib/gcc/i686-pc-toaru/6.4.0/libgcc.a: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
readelf: Error: Archive member uses long names, but no longname table found
readelf: Error: libgcc.a: bad archive file name
View gist:57fee2c9b364ab56815bd99f2bffaccf
local@livecd /opt$ /usr/local/bin/i686-pc-toaru-gcc -o /tmp/test test.c [10/12 13:11:54]
/usr/local/libexec/gcc/i686-pc-toaru/6.4.0/cc1: sscanf(..., format=%d.%d.%d, ...);
/usr/local/libexec/gcc/i686-pc-toaru/6.4.0/cc1: sscanf(..., format=%d.%d, ...);
test.c: In function 'main':
test.c:6:1: internal compiler error: Illegal instruction
}
^
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
View git.diff
remote: Counting objects: 283, done.
remote: Compressing objects: 100% (113/113), done.
remote: Total 283 (delta 172), reused 267 (delta 170)
Receiving objects: 100% (283/283), 160.96 KiB | 0 bytes/s, done.
Resolving deltas: 100% (172/172), done.
From gitlab.com:toaruos/toaru-nih
* branch master -> FETCH_HEAD
45e4aed..40ae768 master -> origin/master
Updating 45e4aed..40ae768
Fast-forward
View gist:d462ba5111d592f84e113816f3701527
local@base ~$ qemu-fwcfg -l
0x0020 bootorder (27 bytes)
0x0021 etc/acpi/rsdp (36 bytes)
0x0022 etc/acpi/tables (8192 bytes)
0x0023 etc/boot-fail-wait (4 bytes)
0x0024 etc/e820 (40 bytes)
0x0025 etc/smbios/smbios-anchor (31 bytes)
0x0026 etc/smbios/smbios-tables (320 bytes)
0x0027 etc/system-states (6 bytes)
0x0028 etc/table-loader (4096 bytes)
View gist:7701981001ef5f974c9cfe84d9aa46b4
built-in function 'abort'
built-in function 'atan2'
built-in function 'ceil'
built-in function 'frexp'
built-in function 'ldexp'
built-in function 'log'
built-in function 'modf'
built-in function 'snprintf'
function 'abort'
function 'atan2'
View gist:f7438a10d192df2667a05bf5e9633773
../../3rdparty/chromium/third_party/WebKit/Source/core/loader/FrameLoader.cpp: In member function ‘void blink::FrameLoader::didInstallNewDocument(bool)’:
../../3rdparty/chromium/third_party/WebKit/Source/core/loader/FrameLoader.cpp:517:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (contentSecurityPolicy);
^~
../../3rdparty/chromium/third_party/WebKit/Source/core/loader/FrameLoader.cpp:518:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
m_frame->document()->initContentSecurityPolicy(contentSecurityPolicy);
View gist:19c55030f757ab761ce575861d469fd9
klange@luka master ~/P/w/toaru-nih$ util/auto-dep.py --make apps/panel.c [04/17 22:43:21]
base/bin/panel: apps/panel.c base/usr/include/toaru/yutani.h base/usr/include/toaru/drawstring.h base/usr/include/toaru/hashmap.h base/usr/include/toaru/graphics.h base/usr/include/toaru/pex.h base/usr/include/toaru/list.h base/usr/include/toaru/kbd.h base/usr/include/toaru/pthread.h | base/lib/libtoaru_yutani.so base/lib/libtoaru_drawstring.so base/lib/libtoaru_hashmap.so base/lib/libtoaru_graphics.so base/lib/libtoaru_pex.so base/lib/libtoaru_list.so base/lib/libtoaru_kbd.so base/lib/libtoaru_pthread.so $(LC)
$(CC) $(CFLAGS) -o $@ $< -ltoaru_yutani -ltoaru_drawstring -ltoaru_hashmap -ltoaru_graphics -ltoaru_pex -ltoaru_list -ltoaru_kbd -ltoaru_pthread
klange@luka master ~/P/w/toaru-nih$ touch apps/panel.c
View readme.md

Note: This article is a work-in-progress.

From Boot to HTTP: A Line-by-Line Analysis

A few years ago I did a talk about ToaruOS in which I traced through the system and explained how typing in a terminal worked at each layer. ToaruOS has changed a lot since then, and the slides from that talk have become outdated. Additionally, the level of detail to which a 40-minute talk can delve is limited, but an article can go much deeper. With the recent development of ToaruOS-NIH, a completely in-house distribution of ToaruOS with all code under the NCSA license, I figured it was time to approach that challenge again.

Background

This article is a followup to my talk at Yelp, which itself was inspired by an article that posed the following question:

View static.py
class Foo(object):
a = 1
f = Foo()
f.a = 3
g = Foo()
print g.a, f.a, Foo.a # 1 3 1
Foo.a = 4
h = Foo()
print g.a, f.a, h.a, Foo.a # 4 3 4 4