aah. disclaimer. this is not really my style, so you can get some good laughs here :) Entry: art of forth Date: Sun Sep 17 02:16:43 CEST 2006 I'm staring at a screen, admiring the strange aestetics of some CAT code which does nothing particularly exciting, but looks good.. And looks right. If you never did any 'real programming', you might find this a bit strange. Surely, the only thing that's important is what it does, right? Not how you describe how to? All that code.. Nobody looks at it, and still, it is my only art. It's been years since attempted to make music, or create something that is not a machine. I love machines. More so, I love building machines. I guess I'm firmly back to being an engineer now. Still, i'm not building something somebody wants.. So what am I building? Yes. I miss elegance. I miss simple cleverness. I've alienated my audience. I just want to write code, and stare at it at the end of the day. (previous sucks ass. what i'm trying to do is to explain the story behind all thes experiments that lead up to brood. and frankly, the only thing that is happening is 'forth meme in doelie brain shake it shake it'.) Forth is a damn good DIY tool, and a well kept secret. Maybe I should keep this a secret? Not that what I'm wrining is going to change anything.. It's so fucking hard to say anything without sounding pretentious or geeky. If you want to know forth, you need to know machines. http://halfanhour.blogspot.com/2006/09/how-to-write-articles-and-essays.html These are your choices of types o article or essay: Argument: convinces someone of something Explanation: tells why something happened instead of something else Definition: states what a word or concept means Description: identifies properties or qualities of things So.. I want to write a description, but i always end up writing (or feeling the need to) an argument. --- DRAFT --- Programming a computer is hard. Anyone who tells you otherwize is a poser, or doesn't really now what a computer is. Programming isn't hard because of complexity of tool, but of complexity of problem. If in addition to the problem, the tool is hard to understand, you're wasting your time. In this essay I will try to give you an idea of what forth is. Forth is not really a programming language, it is a set of ideas that work towards making a programming language as simple as possible, without creating artificial limits. In it's bare essence, forth is simple to make it possible to understand everything about a forth system. This enables it to be used effectively. Forth is simple so it can be exteded, made more complicated so it can fit the problem you are trying to solve. Forth employs the idea of "Bottom up programming". Starting from a small set of commands, called "words" in forth, you build a vocabulary in which you solve a problem. Forth makes you think about your problem more than about your solution. Entry: about code Date: Wed Sep 27 09:28:34 CEST 2006 to jump in it: forth is about metacompilation. it gives a flat interface (words) to a tower of abstraction (nested words). forth is about generating structure from structure. about blurring the distinction between code and data. in this sence, it has a lot in common with lisp. i'm trying to do the following: objective: merge ideas from lisp and forth into one language playground: 1. media (audio/video generate/process) 2. small computers (interfaces and cheap toys) current results: CAT/BADNOP and PF ideas from forth: - extreme simplicity - extreme code factoring - action centric: anonymous data (separate data stack) - previous makes it very terse, which makes interaction easier ideas from lisp: - code is data - structure is built from lists (actually pairs) ideas already similar: - extensible language - simple (no?) syntax - simple interpreter place in the world: - not applicable in corporate setting (programmer amplifier) - it is about elegance, code as an artistic object - one-man-band: use simple but powerful tool to solve specific problems, without getting lost in generality. - price is important: use cheap hardware (open source software, commodity PC, free microcontroller samples, scrap/junk hardware recycling.) - roll your own! Entry: piksel talk : silicon crums Date: Sun Oct 1 17:28:43 CEST 2006 what am i going to talk about? simple is better. complexity requires justification. silicon crums.