background preloader

Algorithm

Facebook Twitter

Mathematics

Genetic_algorithms. Blog » Blog Archive » Game of Life text and image generator g. I saw this image the other day on Hacker News and Reddit: It’s a Game of Life pattern that prints out “Golly”.

blog » Blog Archive » Game of Life text and image generator g

Neat, but I wanted my own. After about 5 minutes of playing around with the Golly logo pattern in Golly (a program for experimenting with the Game of Life), I gave up and wrote a program to do it. The program takes the top and bottom portions of a template pattern (based on the Golly pattern) and positions them, then fills in the gliders between them for the correct number of columns.

Then it duplicates the entire pattern for each row. The Memory Pool System: Thirty person-years of memory management. Collected Algorithms of the ACM. Functional Programming in C# 3. As a developer who was raised on procedural and object oriented programming languages like C, C++ and Java it took me a while to figure out what people were raving about when it comes to the benefits of functional programming techniques.

Functional Programming in C# 3.

I always thought closures and higher order functions were words used by snobby kids from MIT and grad students to show how overeducated they were as opposed to programming tools I'd ever find useful. This thinking was additionally fueled by articles like Joel Spolsky's Can Your Programming Language Do This? Which not only came off as snobby but also cemented the impression that higher order functions like map() and reduce() are for people solving "big" problems like the folks at Google who are trying to categorize the entire World Wide Web not people like me who write desktop feed readers in their free time. CodeKata: Code Kata. Background How do you get to be a great musician?

It helps to know the theory, and to understand the mechanics of your instrument. It helps to have talent. But ultimately, greatness comes from practicing; applying the theory over and over again, using feedback to get better every time. How do you get to be an All-Star sports person? But in the software industry we take developers trained in the theory and throw them straight in to the deep-end, working on a project. CodeKata : A description of how this all started MoreKata : Sometimes ‘kata’ isn’t quite the right word; karate uses other techniques to teach too. The Kata What makes a good practice session? Anti-Aliased Line Drawing. First, let's start with an example to show why we want to use anti-aliased lines.

Anti-Aliased Line Drawing

The lines on the left are drawn with something like Bresenham's line algorithm. The lines on the right are drawn with an extended form of Bresenham's which anti-aliases. They are shown both at normal size and 4x zoom. Which do you think looks better? For MP4, you need to implement the one on the right. Just take me to the algorithm!

There are several models one can use to draw anti-aliased lines, with differing quality results. But when I want to display that on a screen, and my units above are individual pixels, I simply cannot draw that. Graph Visualization Test. List of algorithms. The following is a list of algorithms along with one-line descriptions for each.

List of algorithms

Combinatorial algorithms[edit] General combinatorial algorithms[edit] Graph algorithms[edit] Graph drawing[edit] Network theory[edit] Routing for graphs[edit] Graph search[edit] Subgraphs[edit] Sequence algorithms[edit] Approximate sequence matching[edit] Sequence search[edit] Highly Efficient 4 Way Merging. Acknowledgements: This article is based on the work of Peter Sanders and Roman Dementiev.

Highly Efficient 4 Way Merging

You can find the full source code presented here in their STXXL library (STL library for large data structures), Peter Sanders' paper and the accompanying source code. Warning: If you are of sensitive nature either regarding computer science theory highly practical program optimization then I recommend you to stop reading this article at once. A More Random Computer Input Controller. Ingredients: Gallon of fat free milk 4 boxes of pudding mix (banana flavored) not pictured: 1-2 egg yolks table salt Tools: measuring cup mixing bowl wire whisk large container to hold pudding Follow pudding mix box instructions , whisk for one minute each per pudding box, combine all pudding into the larger container.

A More Random Computer Input Controller

Why pudding as the medium? You can try and make your own mixture of starches, sugars, salt, Lecithin, citric acid, and lactic acid. Dictionary of Algorithms and Data Structures. This web site is hosted by the Software and Systems Division, Information Technology Laboratory, NIST in collaboration with the FASTAR group.

Dictionary of Algorithms and Data Structures

Development of this dictionary started in 1998 under the editorship of Paul E. Black. This is a dictionary of algorithms, algorithmic techniques, data structures, archetypal problems, and related definitions. Algorithms include common functions, such as Ackermann's function. Problems include traveling salesman and Byzantine generals. Don't use this site to cheat. If you have suggestions, corrections, or comments, please get in touch with Paul Black. Some terms with a leading variable, such as n-way, m-dimensional, or p-branching, are under k-.

To look up words or phrases, enter them in the box, then click the button.