background preloader

Dictionary of Algorithms and Data Structures

The Brainfuck Programming Language Brainfuck is the ungodly creation of Urban Müller, whose goal was apparently to create a Turing-complete language for which he could write the smallest compiler ever, for the Amiga OS 2.0. His compiler was 240 bytes in size. (Though he improved upon this later -- he informed me at one point that he had managed to bring it under 200 bytes.) I originally started playing around with Brainfuck because of my own interest in writing very small programs for x86 Linux. I also used it as a vehicle for writing a program that created ELF files. Eventually, however, I too succumbed to the Imp of the Perverse and wrote some actual Brainfuck programs of my own. The Language A Brainfuck program has an implicit byte pointer, called "the pointer", which is free to move around within an array of 30000 bytes, initially all set to zero. The Brainfuck programming language consists of eight commands, each of which is represented as a single character. Resources The Brainfuck archive. Brian RaiterMuppetlabs

Rounding Up the Best Javascript WYSIWYG and Markup Editor  WYSIWYG Editor is the first requirement if you want to develop a web application which involved HTML editing and you want your user see a real time preview of what they are editing. Most of the available Content Management System and other publishing platform in the web are using WYSIWYG editor for easy page editing. So I will rounding up to you the best JS WYSIWYG editor in the web. TinyMCE – Javascript WYSIWYG Editor TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB. TinyMCE is my personal choice. TinyMCE Features: Easy to integrate – Only a few lines of code needed.Customizable - Themes and plugins, block invalid elements and force attributes.Browserfriendly - Mozilla, MSIE, FireFox, Opera, Safari and Chrome.Lightweight - PHP/.NET/JSP/Coldfusion GZip compressor, Makes TinyMCE 75% smaller and a lot faster to load.AJAX Compatible – You can easily use AJAX to save and load content! FCKeditor jwysiwyg

Sometimes, The Better You Program, The Worse You Communicate. 'peSHIr' on Fri, 05 Jun 2009 10:39:57 GMT, sez: So *this* is why I communicate so horribly! ;-) 'Mike Woodhouse' on Fri, 05 Jun 2009 11:34:33 GMT, sez: My Wife [giving some typically incomplete instructions]: You know what I mean Me: I don't. My wife doesn't program. 'DylanW' on Fri, 05 Jun 2009 11:56:36 GMT, sez: I have never before felt like my chosen career was actually doing me harm. (Kidding. 'Doekman' on Fri, 05 Jun 2009 12:06:01 GMT, sez: So what you are saying is actually that you have less than average programming skills? 'wpfleischmann' on Fri, 05 Jun 2009 12:56:12 GMT, sez: re: (1) Human communication is a lossy medium, so it requires significant redundancy. 'Stephan L.' on Fri, 05 Jun 2009 13:19:35 GMT, sez: Like Doekman says, you can read this the other way around: here are four reasons why the better you communicate with typical human beings, the worse you are as a programmer :-) 'Kyle Lanser' on Fri, 05 Jun 2009 13:55:44 GMT, sez: I Disagree. her: Crab's until 10, right? false; 1.

AI4R :: Artificial Intelligence for Ruby Ruby Programming Language x86 Assembly x86 Assembly This book covers assembly language programming for the x86 family of microprocessors. The objective is to teach how to program in x86 assembly, as well as the history and basic architecture of x86 processor family. When referring to x86 we address the complete range of x86-based processors (since the original Intel 8086 in 1978). This includes: IA-32 assembly, also commonly referred to as x86-32 assembly (Intel architecture 32-bit, since the Intel 80386), a 32-bit extension of the original 16-bit Intel x86 processor architecture (used in Intel 8086 - 80286 CPUs). Throughout the book these terms may be used interchangeably when appropriate. Introduction Basic FAQ x86 Basics x86 Family x86 Architecture and Register Description Comments 16, 32, and 64 Bits Intrinsic Data Types x86 Instruction Set x86 Instructions Data Transfer Instructions Control Flow Instructions Arithmetic Instructions Logic Instructions Shift and Rotate Instructions Other Instructions x86 Interrupts Syntaxes and Assemblers

Bill the Lizard: Books Programmers Don't Really Read Mark Twain once said that a classic novel is one that many people want to have read, but few want to take the time to actually read. The same could be said of "classic" programming books. Periodically over on Stack Overflow (and in many other programming forums) the question comes up about what books are good for programmers to read. The question has been asked and answered several times, in several different ways. The same group of books always seems to rise to the top, so it's worth it to take a look at these books to see what everyone is talking about. Books Most Programmers Have Actually Read I've read all of these books myself, so I have no difficulty believing that many moderately competent programmers have read them as well. Among the most commonly recommended programming books there is another group that deserves special consideration. Books Programmers Claim to Have Read

List of algorithms The following is a along with one-line descriptions for each. Combinatorial algorithms General combinatorial algorithms Brent's algorithm : finds cycles in iterations using only two iterators Floyd's cycle-finding algorithm : finds cycles in iterations Gale–Shapley algorithm : solves the stable marriage problem Pseudorandom number generators (uniformly distributed): Blum Blum Shub Lagged Fibonacci generator Linear congruential generator Mersenne twister Graph algorithms Coloring algorithm : Graph coloring algorithm. Hopcroft–Karp algorithm : convert a bipartite graph to a maximum cardinality matching Hungarian algorithm : algorithm for finding a perfect matching Prüfer coding : conversion between a labeled tree and its Prüfer sequence Tarjan's off-line least common ancestors algorithm : compute lowest common ancestors for pairs of nodes in a tree Topological sort : finds linear order of nodes (e.g. jobs) based on their dependencies. Graph drawing Spectral layout Network theory Network analysis PageRank

Related: