or learn more

Linkage 2007.01.04

Jan 4, 2008


Porting the kernel to other devices (from ld)<br/>

This week’s episode is a continuation of the last week’s introduction to porting a Linux kernel to a new platform.


The Internet gives little people the power, confidence, and anonymity they need to abuse anyone they want without any fear of retribution.


Walking along Main Street, conventioneers can have their picture taken near the statue, drink a “Mothman Frappachino” (advertised in a local cafe window) and drop into the Mothman Museum, which convincingly bills itself as the world’s only such institution.

Einstein’s derivation of E=mc^2<br/>


FSA Death<br/>

Sure you could build the very same behaviors with a finite state machine (FSM). But anyone who has worked with this kind of technology in industry knows how fragile such logic gets as it grows. A finely tuned hierarchical FSM before a game ships is often a temperamental work of art not to be messed with!

XML Schema mess<br/>

But fantasy is a really poor substitute for reality. Time and time again I have seen clients happy about XML Schemas and its promises, only to have their hopes dashes as they realize that as soon as they need to start deploying they have to use subsets and there is no support from “standards” to help interoperability.

OLPC vs. eee<br/>

Functional Archeology<br/>

John Backus’s Turing Award Lecture from 1977, Can Programming be Liberated from the Von Neumann Style? (warning: large PDF) was a key event in the history of functional programming.

x86 OSX Emulation<br/>

NetBSD live cd<br/>

Plywood desk<br/>

Nextgen text editor anatomy (are people still writing these things?)<br/>

The full screen mode does away with a maximum amount of chrome, and works seamlessly with multiple monitor setups. Here you can see Sublime Text running on two monitors, full screen on each, with five files being edited side-by side.

He gets it<br/>

require \'socket\';require \'yaml\';def q x;$m.find{|o|o.t==:p&&x==o.n};end
 def a r,t;$m.find_all{|o|t==o.t&&(!r||r==o.l)};end;def g z;a(nil,:p).each{|p|
 p.p z};end;class O;attr_accessor :i,:n,:l,:e,:s,:t;def initialize n,l=nil,t=:r
 @n,@l,@i,@t=n,l,$d+=1,t;@e={};end;def p s;@s.puts(s)if @s;end;def y m
 v=$m.find{|o|@l==o.i};t=v.e.keys;case m;when/^q/;@s.close;@s=nil;\'d\',\'w\'){|f|YAML::dump $m,f};when/^h/;p \"i,l,d,g,c,h,q,<exit>,O,R\"
 when/^i/;a(@i,:o).each{|o|p o.n};when/^c.* (.*)/;g \"#{@n}:#{$1}\"
 when/^O (.*)/;$m<<$1,@l,:o);when/^R (.*) (.*) (.*)/;$m<<$1)
 v.e[$2]=d.i;d.e[$3]=v.i;when/^l/;p v.n;(a(@l,:p)+a(@l,:o)).each{|x|
 p x.n if x.s||x.t==:o};p t.join \'|\';when/(^#{t.empty? ? \"\\1\" : t.join(\'|^\')})/
 @l=v.e[$1];else;p \"?\";end;end;end;test ?e,\'d\'||begin;$d=0;$m=[\"Home\")]
 end;$m=YAML::load_file \'d\';$d=$m.size; 0,4000;while k=z.accept{|s|s.puts \"Name\";s.gets;l=$_.chomp;d=q l;$m<<,1,:p)if !d
d.s=s;while s.gets;d.y $_.chomp;end;};end


Java is the new COBOL?<br/>


No Comments, Comment or Ping

Reply to “Linkage 2007.01.04”