DeepHack: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
No edit summary
 
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
DeepHack: Spelunking for the 21st Century
DeepHack: Digital spelunking for the 21st Century
 
= Secret Motor =
[http://www.youtube.com/watch?v=D5PS-zOciF8 The original Secret Motor] was a project by Mike Kan circa 1993 to visualize memory access on a Macintosh using an oscilloscope. The [https://github.com/leif/qemu-secret-motor QEMU Secret Motor] is an attempt to create something similar using an emulator. It currently consists of a patched version of qemu which prints the x86 EIP for each cycle of the emulated machine, and a python script (based on this [https://www.youtube.com/watch?v=s1eNjUgaB-g YouScope] [http://www.youtube.com/watch?v=-1E0DpQ_cFo emulator]) to visualize that data. TODO: post some video here of the qemu secret motor running.


=QEMU=
=QEMU=
[http://wiki.qemu.org/Main_Page QEMU] is a generic and open source machine emulator and virtualizer.
[http://wiki.qemu.org/Main_Page QEMU] is a generic and open source machine emulator and virtualizer.


[https://gitorious.org/qemu-secret-motor QEMU Secret Motor] uses QEMU to create visualizations [http://www.youtube.com/watch?v=D5PS-zOciF8 like this].
=Horology=
* More [https://www.youtube.com/watch?v=s1eNjUgaB-g oscilloscope fun]
==Linux 3.4 timer fixes==
Patches for resume and 32-bit timer overflow
https://lkml.org/lkml/2012/8/21/673
 
==(Potential) fix for Linux leapsecond bug==
1 July 2012
 
https://lkml.org/lkml/2012/7/1/176
 
==Avoiding unnecessary overflow in sched_clock==
15 November 2011
 
https://lkml.org/lkml/2011/11/15/359


=The Elements of Computing Systems=
=The Elements of Computing Systems=
Line 26: Line 42:
[http://www.corepy.org/ CorePy]: Assembly Programming from Python
[http://www.corepy.org/ CorePy]: Assembly Programming from Python


=A Plumber's Wish List for Linux=
=Patterson & Hennesy=
[http://lkml.org/lkml/2011/10/20/275 Version 2] by Kay Sievers (20 Oct 2011).
[http://www.cs.iastate.edu/~prabhu/Tutorial/title.html Java tutorial] based on "Computer Architecture" and "Computer Organization and Design"
 
=Operating Systems=
Systems-level software (kernel and userspace)
==Unix V6==
* [http://v6shell.org/history/sh.c Unix V6 Shell] by Ken Thompson (900 lines), 1975
* [http://v6.cuzuco.com/ John Lion's Commentary] on the Unix v6 source
** [http://www.lemis.com/grog/Documentation/Lions/ in PDF]
==Linux==
===A Plumber's Wish List for Linux===
Looking for a useful systems software project? [http://lkml.org/lkml/2011/10/20/275 Version 2] of the list by Kay Sievers (20 Oct 2011).
===Linux 0.01===
* [http://www.kernel.org/pub/linux/kernel/Historic/ Original release] by Linus Torvalds (10,000 lines), September 1991
* [http://kerneltrap.org/Linux/Dusting_Off_the_0.01_Kernel Port to GCC4 / QEMU] by Abdel Benamrouche, 1 January 2008
==Minix 3==
[http://wiki.minix3.org/en/MinixRoadmap Roadmap] including ARM support.
 
=Temporal Hex Dump=
* http://scanlime.org/2009/10/temporal-hex-dump/
 
[[Category:Programming languages]]
[[Category:Projects]]

Latest revision as of 00:25, 10 July 2019

DeepHack: Digital spelunking for the 21st Century

Secret Motor[edit]

The original Secret Motor was a project by Mike Kan circa 1993 to visualize memory access on a Macintosh using an oscilloscope. The QEMU Secret Motor is an attempt to create something similar using an emulator. It currently consists of a patched version of qemu which prints the x86 EIP for each cycle of the emulated machine, and a python script (based on this YouScope emulator) to visualize that data. TODO: post some video here of the qemu secret motor running.

QEMU[edit]

QEMU is a generic and open source machine emulator and virtualizer.

Horology[edit]

Linux 3.4 timer fixes[edit]

Patches for resume and 32-bit timer overflow

https://lkml.org/lkml/2012/8/21/673

(Potential) fix for Linux leapsecond bug[edit]

1 July 2012

https://lkml.org/lkml/2012/7/1/176

Avoiding unnecessary overflow in sched_clock[edit]

15 November 2011

https://lkml.org/lkml/2011/11/15/359

The Elements of Computing Systems[edit]

MMIX[edit]

MMIX is a 64-bit RISC machine used in Volume 4A of Donald Knuth's Art of Computer Programming and it will eventually be used in all other volumes of that series.

Open Computation Hardware[edit]

The OR1200 is an open-source synthesizable CPU.

What Every Programmer Should Know about Computer Memory[edit]

A 7-part series by Ulrich Drepper (complete PDF):

CorePy[edit]

CorePy: Assembly Programming from Python

Patterson & Hennesy[edit]

Java tutorial based on "Computer Architecture" and "Computer Organization and Design"

Operating Systems[edit]

Systems-level software (kernel and userspace)

Unix V6[edit]

Linux[edit]

A Plumber's Wish List for Linux[edit]

Looking for a useful systems software project? Version 2 of the list by Kay Sievers (20 Oct 2011).

Linux 0.01[edit]

Minix 3[edit]

Roadmap including ARM support.

Temporal Hex Dump[edit]