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.
* branch master -> FETCH_HEAD
45e4aed..40ae768 master -> origin/master
Updating 45e4aed..40ae768
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’
View gist:19c55030f757ab761ce575861d469fd9
klange@luka master ~/P/w/toaru-nih$ util/ --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/ base/lib/ base/lib/ base/lib/ base/lib/ base/lib/ base/lib/ base/lib/ $(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

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.


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

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
View output
$ wine ./winedetect.exe
Running Wine 1.8.7 under Linux 4.9.0-4-amd64.
# encoding: utf-8
from bdflib import reader
import sys
with open('knxt.bdf','r') as f:
font = reader.read_bdf(f)