S y n t h e s p i a
n ' s S e r e n d i p i t y
l i n k s * f r o m * t h e * d e e p * w e b * o r * t h e * n t h * g o o g l e * p a g e * o r * p r 0 n
While we wait for The Singularity...
"The "standard", non-functional programming languages like Fortran, Ada, and C are the bastard progeny of the coupling between a pseudo-mathematical notation and a von Neumann-style random access memory (RAM)."
-- Henry Baker in
Linear Logic and Permutation Stacks--The Forth Shall Be First
"There are many ways of trying to understand programs. People often rely too much on one way, which is called ``debugging'' and consists of running a partly-understood program to see if it does what you expected. Another way, which ML advocates, is to install some means of understanding in the very programs themselves."
-- Robin Milner in
The LittleMLer
Unix links -----------------
BSD: Linux with a
twist
OpenBSD Commonly
Encountered Problems
The Open Group catalog. This is the group that publishes the UNIX specification. Look here when searching for proper behavior/description
The Networking Bookshelf
Development
Make
Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. What? Didn't think there was a standard?
A Make Primer with tips for additional languages, such a Modula-2 and Fortran.
Simple Makefile Tutorial. I liked this one because it dealt with inlude files, something a lot of other little tutorials forgot about.
BSD Make is explained in this chapter from Greg Lehey's "Porting UNIX software" book.
PMake - a tutorial "A tutorial for the make utility (...) essential reading for anyone who wants to understand all the details of using make of reading and writing makefiles." This is not GNU Make. This is BSD documentation.
Unix basics
Norman Matloff's
Unix Tutorial Center
Unix System Administration Class with emphasis on OpenBSD
Porting/Packaging
BSD
Ports Collection Basics
Tutorial:
Creating an OpenBSD Package
FreeBSD ports cvs
browser
OpenBSD ports cvs
web interface
Pbi-forge. Exploring the PC-BSD PBI auto-extracting packaging approach.
Making Packager-Friendly Software part 1 and part 2, by Julio M. Merino Vidal
The pkgsrc developer's guide by the nice NetBSD crew
Greg Lehey's Porting UNIX Software - From Download to Debug. A great book!
Source
FreeBSD and Linux Kernel Cross-Reference
Doxygen generated FreeBSD kernel documentation
Security
Chroot, Jail, ACL, etc.
Setting up a chroot Debian system. "How do I run sid in stable?"
Cryptography
[Recent, i.e., 2004]
Hash Collisions Q & A
Firewall
Firewall Basics
NAT Basics
Firewall
Forensics (What Am I Seeing?)
What a Firewall Does
IP Network Address Translation, a Diplomarbeit by Michael Hasenstein, 1997.
NAT is Not a Firewall. Some DSL modem sellers (e.g., Parks) have crappy support staff pushing desinformation saying NAT is a firewall. Assholes.
Miscellanious
Strange Attractors and TCP/IP Sequence Number Analysis is a one of a kind paper, at least for open source *Nixes, about how a spoofing attack could be launched by using a technique from the mathematics of dynamical systems, called phase analysis, in which attractors from the pseudo-random number generators are identified, thereby allowing the attacker to guess a range of numbers that would result in correctly spoofing the packet. Here's the follow-up.This is a discussion thread in Kernel trap that will give some info on the TCP ISN randomization code in Linux.
Off-the-Record Messaging is a new security protocol for instant-messaging. While the communication is happening, the messages can be authenticated. However, afterwards, they cannot be verified as authentic. This means they can't be audited by a third-party.
An Overview of OpenBSD security
Serenity Virtual Station is like VMWare, but runs on FreeBSD too.
Programming Securely
Secure Programmer column from IBM Developer Works
Secure Programming for Linux and Unix HOWTO
SPSMM - The Secure Programming Standards Methodology Manual
OpenBSD, FreeBSD
Hardening
OpenBSD
TEPATCHE - Automatic OpenBSD
system patcher
Exploit
Mitigation Techniques. This is a presentation by Theo de Raadt which
provides a nice overview of the different techniques deployed by OpenBSD
that are neglected by other vendors/distros.
Tao of Security - Keeping FreeBSD up-to-date. Using Colin Percival's freebsd-update utility makes things as easy as in a Debian GNU/Linux system. With the added bonus that you're not on a Linux system.
OpenBSD VuXML Documenting security issues in the OpenBSD Ports & Packages Collection
Firewalling with PF
Building an OpenBSD Live CD
BSD Updates binary updates, whine no more.
NoMoa's OpenBSD Page
Patching OpenBSD
Updating the Ports Tree, Part 1 (FreeBSD)
Programming links ----------
C
CIL - Infrastructure for C Program Analysis and Transformation (v. 1.3.1) and CCured
Programming Abstractions with C and its ftp site for the needed libraries.
ANSI C grammar, Lex specification by Jeff Lee.
ANSI C Yacc grammar by Jeff Lee.
Programming in C
Object oriented Programming in C by Dave St. Clair
Object Oriented Programming in C by Ted Van Sickle
Object-oriented programming in C by Paul Field
Don't use typedef void* for abstract datatypes (...)Instead, use forward declared structs.../* Declare foo opaque type */
SGLIB - A Simple Generic Library for C. Generics as in "generic programming."
Parser Combinators in C. Parser combinators were discussed in W.H. Burge's 1973 book "Recursive Programming Tecnhiques" and elsewhere.
TCC - Tiny C Compiler claims it is almost standards-compliant, and generates faster code than GCC for x86.
C Standard Questions
Bullet Proof Integer Input Using strtol()
Judy C library provides a state-of-the-art core technology that implements a sparse dynamic array. Also look bellow for a comparison of Judy arrays and hash tables.
A Tour of C Programming, 2nd ed.
Learn C in 21 Days
Program Library HOWTO
Sfio: A Safe/Fast I/O Library "There is no limit on the number of open streams. There is no arbitrary limit on file sizes. " Etc. Common Public License 1.0 (OSI Aproved)
C#
ECMA-334 C# Grammar
Smilla .NET Communication Library, since "ET Framework lacks support of some important Internet protocols, for example NNTP and POP3. "
Componentspot. Ah...These languages with huge amount of developers...
Data Structures and Algorithms with Object-Oriented Design Patterns in C#, by Bruno R. Preiss.
Concatenative
Factor
Factor is inspired by Forth, Joy, Common Lisp, K, and Slate.
Slava Pestov's weblog tracks Factor's development
Forth
Karig
Dreams
Forth & Linux &
x86 Assembly
Jim Brook's Forth Programming
page
An Introduction to Forth Quite good stack-manipulation exposé.
Color
Forth Network Stack Network stack, ethernet driver and dhcp client in
130 lines!
Finite State Machines in Forth
BNF parser in Forth
Publications by Bradford
J. Rodriguez
A Beginner's Guide to Forth
Leo Brodie's Starting
Forth
Forth Meta Compilation
The last fig-Forth ever. Look for "lina."
Simulated annealing algorithm implementation from Taygeta Scientific Inc. Wasn't listed in their Scientific Library page.
Introduction to Forth using Stack Flow
ciasdis "For my ai-work I need a Forth that is self aware in the sense that the dictionary contains all tools to analyse itself. The same requirement I had for the assembler. Unfortunately the Pentium (that I choose for my system) is rather complex. After rereading Thinking Forth I came up with the postit-fixup philosophy described here. A design goal is the "reverse engineering" principle:
Disassembling code and assembling the resulting source gives the exact same code.
Assembling code than disassembling gives the source code back.
This sounds fair enough, until you realise that MOV AX,BX has three different opcodes. There existed no assembler for Intel 386 that obeys the reverse engineering principle."
AMResearch has hardware and a LGPL'd Forth IDE.
Named-Pipes and Sockets
Russian Forth Interest Group
Practical and Theoretical Aspects of
Forth Software Development
FORTH - A Language for Interactive Computing
FORTH - an underview. Explanations about how Forth works.
A Web Server in Forth, by B. Paysan
Forth WWW links
F-PC is a great environment/implementation of F83 Forth for DOS. For that 486 you had in the basement. This is a great example of carefully crafted software. On the Taygeta site you may also find libraries (like the Smiley graphic library). The library for floating points was implemented by a member of the IEEE commitee.
Forth Fr. French Forth page, where you can also download TURBO-Forth. You can also get the little book in French Le Concept Forth. To dload to a directory, use: $wget -r http://forth.free.fr/livres/le_concept_forth/51/page_01.htm
Using fflib.fs with gforth. Using gforth's foreign function interface
MicroProcessor Engineering (motto: "More real, less time!") has kindly provided nice Forth reading material
Ficl is an ANSI-compliant Forth, with OOP extension, ROMable, BSD licensed, and lots of other advantages
Entrez Dans le Monde du FORTH. Forth running on hardware, Forth hardware emulator.
Build Your Own Forth
Joy
Joy is starting a new revolution. Combinators, like it once happened with Lisp and Lambda.
PostScript
PostScript is, well, a general programming language. It's very much like Forth. Great for drawing graphics.
Thinking in PostScript a free online book
Ghostscript API
Mathematical Illustrations - A Manual of Geommetry and PostScript by Bill Casseman. Just great!
Some PostScript documents and a place to get a copy of the BLUEBOOK
First Guide to PostScript. I didn't think this was a tutorial very well thought out.
Guru's Lair. A wealth of PostScript material, from Alpha transparency to Hyperbolic Cubic Spline Fitting, through many other things.
Eiffel
Eiffel Implementations
There are now 3 open source implementations of Eiffel available (2 of then are dual-licensed under the GPL - which means either you GPL your code, or buy a license - check for specific details):
Visual Eiffel
Eiffel Studio. Eiffel Studio exists also for Solaris and FreeBSD.
Smart Eiffel, from INRIA. Smart Eiffel does not constrain you to GPL. You can write commercial software with it (see details).
Eiffel Tutorial
Eiffel: An Advanced Introduction. When you read slashdotters complain about "Eiffel's weird syntax", whack 'em with a bo stick! (So that they may achieve satori).
Modula-2
FST is a compiler for DOS complete with "IDE." You may need to download a program such as FilZip to handle the old compression format. Great for that Wirth book.
Haskell
Fudgets Home
Modelling Office Processes with Functional Parsers
Typing Haskell in Haskell is about: "Haskell benefits from a sophisticated type system, but (...) it has no formal description. To remedy this (...), we present a Haskell program that implements a Haskell typechecker, thus providing a mathematically rigorous specification (...)."
Scrap your boilerplate, a series of papers on implementing generic functions in Haskell. See also Scrap your boilerplate homepage for additional material.
Haskell Tutorial for C Programmers
Monads for the Working Haskell Programmer-- a short tutorial
Making Haskell programs faster and smaller
The Haskell Cabal is the Common Architecture for Building Applications and Libraries (...) a framework which defines a common interface (...) to more easily build (...) applications in a portable way.
A Calculator for Exact Real Number Computation used Valérie Ménissier-Morain's exact arithmetic
The Haskell Sequence is a blog
Java
SwingWT
jGRASP is a lightweight development environment, created specifically to provide automatic generation of software visualizations for the purpose of improving the comprehensibility of software. License sucks, will probably go proprietary sometime in the future. Great work, though.
Lisp
ColorLisp?
Common Lisp
ECL
GCL
Peter Seibel's new book
OnLisp online - The Unofficial Texinfo Format page
Debugging approaches in CL by Bill Clementson.
Re: Debugging Lisp code (stupid newbie question)
Implementing call/cc in CL by Bill Clementson.
Common Lisp Requests for Implementation
A Simple webserver using sbcl, araneida, pg and slime
CLOStrophobia: Its Etiology and Treatment by Henry Baker.
List Comprehensions for Lisp, finally!
lambda gtk
Simple Streams are an enhancement that substitute Gray streams. Also available in SBCL and CMUCL (don't know about CLisp and LispWorks). Once again, hats are off to Franz hackers.
read-bytes-standalone.lisp A very simple file to read and write numbers in binary format. Includes floating numbers (IEEE standard), by Martin Raspaud.
Simple Grid Protocol 1.0 Grid Computing package for Linux/BSD
Fract is a Common Lisp web zoomer for the Mandelbrot Set.
Generators. Read what they are.
Arnesi utility suite CPS transformer and other usefull things.
TBNL - A Toolkit for Dynamic Lisp Websites
define-method-combination with the rationale for the explanation posted on c.l.l.
Post about tail-call and toll on optimization wrt the "trampoline" technique. For more on this, see Henry Baker's CONS Should Not CONS Its Arguments, Part II. The Chicken Scheme compiler implements what is proposed in Baker's paper<;;;;;;;;/a>
Condition Handling in the Lisp Language Family. Also see
Unwind-protect in portable Scheme for more on this issue. There was also a huge flamefest on comp.lang.lisp about this. And also read this thread which also touches upon this issue, but it's older, but it motivated Sitaram's implementation. In the end, Will Clinger had the final say with this implementation of UNWIND-PROTECT and one-shot continuations in portable Scheme
MusCL
Hints to Macro Writers
IOLibCommonLisp I/O library
Using data profiling in a running system
ContextL is a CLOS extension for Context-oriented Programming.
Dylan
Dylan Programming is a nice on-line book to learn the philosophy of generic functions and multimethod programming (which also applies to CLOS).
Learning Dylan
Dylan Exchange
Functional Developer
Monday Parsing Libraries
Monotonic Superclass Linearization for Dylan
Emacs Lisp
Emacs Lisp is not a very good Lisp. It uses dynamic scoping for variables, and that's a very old practice that has been widely substituted in modern programming languages for lexical scoping.
However, Emacs has been the most flexible editor around. A hacker's true workhorse.
An EMACS Primer is a very nice page for the beginner.
Bet you didn't know about M-x artist-mode which is very helpfull for drawing diagrams in progrmas
Loading Emacs Libraries HOWTO
ISLISP
ISLISP ISO standard, or what GNU should have chosen instead of Guile.
OpenLisp
OpenLisp by Eligis has been ported to more than 90 (!) architectures.
TISL
TISL code just disapeared into oblivion. Not! Thankfully, it had an open
source license and I have a copy of the source tree.
You can find it here.
Unfortunately, this is GPLed code. This is TISL the way I found it, just before Tokohuko University removed their ISLISP site. Bugs and all. You need a p a ssw-d for access: it's "tisl".
Lisp Machines
Retrocomputing - Symbolics Lisp Machine Emulation
Lisp-Stat and XLisp-Stat
Lisp-Stat is a dialect of Lisp (XLisp) that has built-in facilities for statistics programming. Xlisp-Stat does dynamic graphics, which R doesn't do, AFAIK. Luke Tierney, apparently, now works with the R core team.
XLisp-Stat tutorial
Simulation for the Social Scientist (online draft book), by Nigel Gilbert and Klaus G. Troitzsch is a book that has used Lisp-Stat.
On abandoning Lisp-Stat explains why UCLA abandoned Lisp-Stat in favor of R/S.
UCLA's XLisp-Stat contributed code repository
Lisp Videos
Daniel Bobrow: Common LISP Object Standard
Scheme
Functional
Programming in Scheme - with Web Programming Examples
(CHEZ (CHEZ SCHEME))
The Schematics Scheme Cookbook is
a collaborative effort to produce practical documentation for using the Scheme
language, particularly in commercial environments. It is focused on PLT Scheme
The Scheme Programming Language 3rd ed on-line book.
Boston Scheme user group has a nice collection of usefull reading material.
Monads in Scheme
Function Currying in Scheme
DXScm is a Scheme (LISP) interpreter for OpenDX.
Advanced Scheme
Quack, by Neil Van Dyke, enhances Emacs support for Scheme.
Le Mémento du SCHEMEUR (in French). Nice overview of DrScheme, including some GUI and class system (modeled after Java, malheureusment).
Scheme et L'Algorithmique is a nice "petit bouqin" discussing recursion and other techniques.
Portable syntax-case
Nice university tutorial
John David Stone also has very nice course material on Scheme.
Dan Friedman's "Poor Man's" Logic System for Scheme with first-class relations
SX is a graphical 3D object modeller implemented in Scheme.
Learn Scheme Now is a different kind of tutorial. Dives quickly into macros and continuations. Pa ss wd for the file is: "lsnow"
Darius Bacon's Scheme for Common Lispers
Concepts of Programming Languages
The Larceny Project
Concrete Abstractions - An Introduction to Computer Science Using Scheme a online Scheme book
mzsocket is a native extension library for mzscheme, that provides the BSD/POSIX socket interface.
It supports IPv4, IPv6, Unix domain, and raw sockets depending on availability on the host platform.
The library is available under the GNU LGPL.
PLT Web Server Manual
STELLA
STELLA - Lisp-style Symbolic Programming with Delivery in Common-Lisp, C++ and Java STELLA preserves those features of Common Lisp deemed essential for symbolic programming such as built-in support for dynamic data structures, heterogeneous collections, first-class symbols, powerful iteration constructs, name spaces, an object-oriented type system with a meta-object protocol, exception handling, and language extensibility through macros, but without compromising execution speed, interoperability with non-STELLA programs, and platform independence.
ThinLisp
ThinLisp "It translates to Lisp into C for the production delievered version. The translator handleds a large useful subset of Common Lisp, which we have found fits the needs of the systems we build [over a million LOC]"
Middleware
Open-XChange is "The OPEN-XCHANGE� Collaboration and Integration Server Environment allows you to store appointments, contacts, tasks, emails, bookmarks, documents and many more elements and share them with other users. This environment can be accessed via any modern web browser and multiple fat clients like KDE Kontact, Apples iCAL, Konqueror, Mozilla Calendar and many more." Supported by Novell.
Oz
Unicode support, MozMidi
Parsing
Lex & Yacc
Build code with lex and yacc, Part 1: Introduction
Perl
Perl Paraphernalia
Squawks of the Parrot
Exegesis 6, or Perl gets macros.
Pugs is an implementation of Perl 6 in Haskell. Yes! PUGS IS PERL 6, NOW, WRITTEN IN HASKELL! Autrijus Tang is a smart guy, and you can read more here
Python
There are better options. I fail to see why some think it's such an amzing language...
Dive
into Python site 1
Dive
into Python site 2
Fast, Easy Database Access with Python
Visitor Revisited. Oh ma gawd! Some bright hacker has just implemented generic funtions in Python! *G* Will it ever become Common Lisp? The corollary of growing a language seems to be: when your language grows enough, it gets big. Then everybody gets to bitch about how big it is, and how the learning curve is so steep (and go trolling in Usenet newsgroups). Do I envy you?
Continuations and stackless Python. Its support for CPS style allows the use of microthreads: Working with Stackless Python and Microthreads. And here's a population simulation with stackless Python.
Modeling of a Fuel Fabrication Facility Using Python and SimPy, by some idiots from this stupid place they call "Los Alamos National Laboratory."
Data Structures and Algorithms with Object-Oriented Design Patterns in Python, by Bruno Preiss.
Smalltalk
Free Smalltalk
books for download
Basic Aspects of Squeak and the Smalltalk-80 Programming Language
Smalltalk for Lispers
How to use Model-View-Controller (MVC)
GraphViz for Squeak
ML
Caml
Baire: A data structures library
OCaml
OCaml tutorial
mod_caml
Camel humps real real applications with OCaml.
OCAML for scientists is a book (not free).
PsiLAB Scientific and numeric research software environment
Jean-Christophe Filliatre's stuff
Scheme Interpreter in OCaml
STMlib is a user-space implementation of Sofware Transactional Memory that does not require any modification of the OCaml runtime system and compilers.
Sexplib, from Jane Street Capital, the Ocaml quants! This is a library for automated conversion of OCaml-values to and from S-expressions.
Olmar - Process C++ Programs in Ocaml.
dypgen is a GLR parser generator for Objective Caml.
Using OpenGL with native OCaml Graphics
Fishbacher's OCaml turorial
Deputy is a C compiler that is capable of preventing common C programming errors, including out-of-bounds memory accesses as well as many other common type-safety errors. It is designed to work on real-world code, up to and including the Linux kernel itself. It is written iin OCaml and uses CIL (see above).
SML
ML for the Working Programmer, 2nd ed, answers page. This refers to a book.
Functional programming lends itself easily to logic flow programming
A Functional Description of TeX's Formula Layout
Applications
Announce: SML dynamic web site tools
SML Server is built on top of the AOLServer, which is Open Source
Fox Net was/is an implementation of an industrial-grade TCP/IP stack in SML. Read the paper "Signatures for a Network Protocol Stack: A Systems Application of Standard ML" (regretably, only via ACM Digital Library, I think). Code is here. This is very interesting, because it demonstrates one of the things SML is most good at: creating a formal specification, then an implementation, à la Goguen.
Unix System Programming with SML
A Finite Automata Library
MLGraphA library to produce images in Caml
Ocamlplot an interface that makes the libplot library.
Implementations
PolyML and the SML mode file to go along with it.
Techniques
Miscellanious Techniques
Tail
Recursion and First-Class Continuations in SML/NJ
Structure
and Interpretation of Computer Programs SML version!
Asynchronous Signals in SML paper.
OO Programming styles in ML, by Bernard Berthomieu is an amazing paper that shows how you can encode OOP in ML.
Continuations Implement Generators and Streams, by Lloyd Allison.
Implementing sets efficiently in a functional language. "Most texts describing data structures give imperative implementations. These are either difficult or tedious to convert to a functional (non side-effecting) form. This technical report describes the implementation of sets in the functional subset of Standard ML."
A History of Research on Binary Trees (in French) with regard to a functional implementation.
Multi-stage programming
Multi-stage programming is a technique of program-transformation that resembles Lisp macros.
Tim Sheard, " Using Meta ML: a staged programming language", 1998.
Introduction to Meta-ML : Walid Taha and Tim Sheard, "Multi-Stage Programming with Explicit Annotation" PEPM'97
Semantics of Meta-ML : Walid Taha and Tim Sheard, "MetaML and Multi-Stage Programming with Explicit Annotation (Sections 11-14)" TCS 248, 2000
Tim Sheard, James Hook, "Type Safe Meta-Programming", 1994
Staging Algebraic Datatypes
The OGI Mustang Project home of MetaML.
MetaOCaml is multi-stage programming in OCaml.
Tcl/Tl
Tcl
Tcl for Web Nerds, brought to you by Hal Abelson, Philip Greenspun, and Lydia Sandon
Practical Programming in Tcl and Tk
tcl8.5 tutorial
Arts and Crafts of Tcl-Tk Programming
Tk
Examples of Tk Widgets
UNIX Shell
The Unix Shell Guide
Bash Guide for Beginners
Miscellanious --------------
Standard
ML vs. Objective Caml
Flow Caml
"The Flow Caml system is a prototype implementation of an information flow
analyzer for the Caml language. It consists in an extension of the Objective
Caml with a type system tracing information flow. Its purpose is basically
to allow to write "real" programs and to automatically check that they obey
some confidentiality or integrity policy. "
Models of Control and Their
Implications for Programming Language Design
Threads Yield Continuations
The Oberlin CS DRAGN Project.
Monads in Scheme
BNF Converter
Functional Logic Programming
Research papers on functional logic programming
The functional side of logic programming
Relfun
Project Censored "Project Censored is a media research group out of Sonoma State University which tracks the news published in independent journals and newsletters. From these, Project Censored compiles an annual list of 25 news stories of social significance that have been overlooked, under-reported or self-censored by the country�s major national news media. "
Lisa Rein's Tour Of Alan Kay's Etech 2003 Presentation
Learning and Modelling Biological Networks
ANTLR Parser Generator, better than Lex/yacc
Bioinformatics and comparative genomics links @ FIOCRUZ
Labyrinth Books specializes in scholarly and university books.
Lisp Paste Bot
The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
Wily Text Editor is a clone of Bell Labs ACME editor.
Web programming is hard to do right
Designing and Using Combinators: The Essence of Functional Programming
Denotational Semantics: A Methodology for Language Development, a free on-line book generously provided by David Schmidt.
Combinators in OBJ, by the man himself, Joseph Goguen.
Health Level 7
Reductions in Lambda Calculus translated to Scheme. Beginner level.
Lambda Tutorial is an interactive page for learning the basics.
Macros and Higher-Order Functions: "Macros have two distinct advantages over higher order functions: Lexical variables are accessible - Macros use the lexically scoped variables as parameters, so they do not have to pass variables into the function body explicitly; Functions passed to macros do not require names or explicit definition - Simple quotation "" provides enough context to know that a function body is expected."
OpenDX
A Conversation with Alan Kay
Crafting a Compiler, 2nd ed., on-line. Hurry! Hurry!
Various pointers to applets for visualising automatas
Anti-Grain Geometry Project is better anti-aliasing for the people.
A Performance Comparison of Judy to Hash Tables. Judy arrays are a new thing.
The Boyer-Moore Thorem Prover
Ju Rao's List of Free Computer Books
Mastering Recursive Programming
The BibTeX-XML-HTML Bibliography Project
BibTeX as XML
The Lambda Calculus: Its Syntax and Semantics class notes.
Free Downloads from Bruce Perens' Open Source Series Various online books about open source software development. Note: 2 days after I linked this, they put up a "This promotion is no longer available." I thought Bruce Perens was comitted to open documentation. I guess not.
Program Specialization and Partial Evaluation
The C10K problem a few notes on how to configure (UNIX) operating systems and write code to support thousands of clients.
Implementing Bit-addressing with Specialization
Combinatory logic in programming Computations with objects through examples and exercises is a book I want to buy. Can't find a way to buy online!
Ajax: A New Approach to Web Applications
HTTP Made Really Easy A Practical Guide to Writing Clients and Servers
Uri's TCP/IP Resources List
OpenGUI home page is a very small GUI (about 1M rigth now)
Formal Methods in Software Development
Formal Methods index at Oxford
Algebraic Specification index
Extended ML
Patricia D.L. Machado from LFCS/Edinburgh + UFCG. Her thesis about "Testing From Algebraic Specification: The Oracle Problem" can be found here.
Dresden Formal Concept Analysis Homepage
Uta Priss's home page. I think her "Lattice-based Information Retrieval" paper is very interesting.
Links to Formal Concept Analysis.
Formal Specification for TCP and UDP verified by HOL
L4 Verified for the L4 micro-kernel
Mathematics
A Computational Introduction to Number Theory and Algebra free on-line book by Victor Shoup at the Courant Institute, NY.
A tale about stupid programmers for an on-line cassino and their reliance on Delphi's Randomize function that makes you wonder: how come these fuck-ups ever got a job in the first place?
Mathematics On the Web, a list by the AMS.
Advanced Calculus a book by Shlomo Sternberg, kindly licensed under a Creative Commons license.
AMS on-line books
Sentential Logic Primer by Richard Grandy and Daniel Osherson. Absolutely depends on Adobe Reader, unfortunately.
The Cornell University Library: Historical Mathematics Monographs
Internet Links for Mathematics from Dartmouth.
Axiom is a CAS previously developed by IBM Watson Reasearch Center and the NAG (Numerical Algorithm Group). It has 25 years of development behind it, and was open-sourced by IBM in 2002, because they weren't profitting from it. It is very much worth a look and there is a "vision" behind it (using CA as a new medium for the exchange of ideas). This project is more mature than Maxima, IMHO. As and added bonus, there is decent documentation (a whole 400+ page book and other stuff).
An Introduction to Physically Based Modeling
A Mathematical Theory of Communication by Claude E. Shannon
Elements of Abstract and Linear Algebra free online book, by prof. Edwin H. Connell, Miami University
The Scientist and Engineer's
Guide to Digital Signal Processing
Valérie Ménissier-Morain: Topic: exact arithmetic
Numerical Computation Guide
Maxima
Primeros Pasos en Maxima nice Maxima material: tutorial and statistics packages
A Radically Modern Approach to Introductory Physics by David J. Raymond
. The Preface: "students don't go into physics to learn about balls rolling down inclined planes -- they are (rightly) interested in quarks and black holes and quantum computing."
Structure and Interpretation of Classical Mechanics. Another Gerald Jay Sussman "classic!"
Error Trapping Primer for Multiprocessor Systems
Fnord is mathematical visualization system. I have not been able to compile it yet myself. Also look at Prof. Banchoff's page for some examples
Cellular Automata tutorial by Alexander Schatten
Rational Trigonometry by N J Wildberger (Assoc Prof UNSW Sydney)
Music - Computer Generated (Automatic for the People)
MIDI-Perl
Perl and MIDI: Simple Languages, Easy Music
Automatic Music with Perl
Hacking Perl in Nightclubs
The Haskore omputer Music System. This one in haskell
Hypertext - as defined/envisioned by Ted Nelson
He invented the term "hypertext." Ted Nelson's page
Fenfire/hyperstructure
in points
Udanax. Xanadu open-sourced
Fenfire. ZizZag > GZigZag
> Gzz > Fenfire. Check out the screenshots! Fenfire uses RDF.
GZigZag
GZigZag - A Platform for Cybertext
Experiments
ZigZag Home
A COSMOLOGY FOR A DIFFERENT
COMPUTER UNIVERSE: Data Model, Mechanisms, Virtual Machine and Visualization
Infrastructure
Ted Nelson's ZigZag
on Lambda-the-Ultimate
OS issues
Threads
Threads
in Gambit-C 4.0 "Gambit-C 4.0, a Scheme system that compiles to C code,
can handle up to 1.35M threads (yeah, 1.35 million) with 2Gigabytes of RAM.
(Compare this with Red Hat's NPTL which can handle at most 0.38M threads.)
Threads are REALLY cheap (thread creation takes 2.5 microseconds on a 2.8
GHz Xeon). They are essentially implemented using continuations." Overview
Gambit
doc
Gambit page
Climbing the Kernel Mountain
People and their Papers - stuff I read
Mike Sperber
Walter Fontana, Santa Fe Institute.
Bruce McAdam
Jeremy Gibbons' Publications
Joseph Goguen
Eugenio Moggi
Andrzej Filinski
Ralf Hinze
Michael Conrad
Robert Rosen
Literature Search
Arxiv.org See what theses, etc, came out.
Bagchee.com to buy books from India. Good hard-to-find buddhist titles.
Hardware
Booting
Theory
Computer Boot Sequence
Multi-booting
Boot Apps
Ranish partition manager
GAG
"Reversers"
RE Team Some interesting stuff on the Papers page. Not too deep, though.
API Spy32
IDA Pro dissassembler runs under Wine emulation, you know?
Introduction to Reverse Engineering Software. Why reverse engineer? "Because we can."
Favorite sites --------------
If you're European or from North-America, please *boycott* buying *furniture* or *musical instruments* (e.g., guitars) with amazonian wood, whether they say it's "managed" or not! The Brazilian government does *not have* enough resources to check whether claims of "eco-management" are true or not! Brazil is a poor country. DEFORESTATION IS RAMPANT!
IT'S YOUR RESPONSIBILITY AS AN AGENT OF THE MARKET ECONOMY TO STOP THIS BY REFUSING TO CREATE A STIMULUS FOR THIS CRIMINAL ACTIVITY!!
Do you use OpenSSH? Then why don't you make a donation to OpenBSD. They've helped you, right?
Synthespian's Serendipity - when you can Google
no further!
My real name would be: Henry [Weissmüller Freiberger
Welter (Von)Arnt Cherubini Mariotti (Albanese ?)] Lenzi. And I was born
in Bahia, Brazil (really).
Synthespian is an URL muncher. Send your non-obvious URLs to (obfuscated):
ssyynntthheessppiiaann@uol.obfuscationpartagain.com.br
*Thank you!*
Last revision: 2006-04-20 (This is international format: yyyy-mm-dd)