|
About me:
My sig (similar in spirit to Fun With Reserved Keywords):Here is a related hello world:perl -le 'exp tr qw s my not vec eq abs do le chop q ge print lc if sort s qq socket y qx cmp s q qq or rand chop'
sort cos or s qq q and s m m print chr ord for qw q hex eval le lt oct q m and eval xor uc print lc qq m m and eval qq x not sin print chr ord for qw q warn open ref le do qx xor sleep log print qq q q if localtime sqrt chop
My bookmarks:
I tend to bookmark nodes related to theoretical topics like applied discrete math, algorithms, computability & complexity.- Sorting a list of IP addresses (aka Why I hate Big O)
- (OT?) Usefulness of CS
- Perl regular expressions vs. RL, CFL, CSL (expressivity of Perl regexes)
- An informal introduction to O(N) notation (except that this reply is dead wrong)
- Re: similar texts !? (joint Kolmogorov complexity approximation)
- Re^2: Equivalency of Code (halting problem undecidability proof in 3 lines of perl)
- Re^2: Equivalency of Code (modern computers = finite state machines)
- Re^2: OT: Finding Factor Closest To Square Root (NP-complete subset sum in disguise)
- Re: Empirically solving complex problems ("NP-complete" ≠ "don't bother")
- Re^3: Representing all data as Lists (algorithmic analysis & assumptions)
- Distribute MP3 recordings optimally to CD-Rs (NP-complete bin-packing in disguise)
- Problematic post on teaching programming
- Big-O Notation - What is it good for?
- Re: An informal introduction to O(N) notation (n/2 ≠ log(n))
- Re: Regexp generating strings? (decision properties of regular languages are decidable)
- Re: back translating regular expressions (halting problem ≠ infinite loop)
- Re^2: perl not omnipotent? let's see! (halting problem ≠ Church-Turing thesis)
- Partitions of integers & sets
- Restricted integer partitions (i.e, making change for an amount)
- Combinations (subsets of a fixed size)
- Power set (all subsets)
- Permutations (works for multisets, too)
- Derangements (permutations with no fixed points)
- See also Re^3: Random Derangement Of An Array for how to uniformly sample derangements
- Understanding & Using Iterators (writing encapsulated iterators; offsite)
- Recursively-generated Iterators (converting recursions into callback-based iterators).
- NestedLoops and the Odometer Model (callback-based iterators with NestedLoops)
- Re: Question about recursively generated iterators (another general-purpose iterator transformation)
- Combinatorial Object Server (offsite)
- DBI recipes
- Re: similar texts !? (approximation of mutual information, using compression)
- Re: recursive anonymous subroutines (Y combinator)
- Aristotle's use.perl journal entry on Y combinators
- Operator Associativity and Eliminating Left-Recursion in Parse::RecDescent
- My new favorite sorting algorithm (offsite, not safe for the humor-deficient)
- Perl Format String Vulnerabilities -- good overview of s/printf security issues (offsite)
My contributions:
Here are some of my highest-ranked nodes:- Fun With Reserved Keywords
- Mandelbrot flythrough
- Pure regex Hamiltonian Circuit solution
- A Beginning Guide To Evolutionary Algorithms
- Golf: Buying with exact change
- The greedy change-making problem using regexes
- Announcing "Other Users" stats (Are you addicted to PM?)
- Re: Weighted random numbers generator
- Re: Round robin tournament problem
- See also solutions to Perl QOTW
- HTML::Template macros
- Breadth-first method dispatch
- Re: Problem assigning values to Hash (see very bottom 2 lines)
- Iterating over combinations
- Re: Generator of integer partitionts of n
- argmin & argmax
- Re^3: Regexes: finding ALL matches (including overlap)
- Re^3: Delimited Backtracking with Regex (with captures)
- Re: Sampling from Combination Space (ranking & unranking combinations)
- Re: find all paths of length n in a graph
- Re^2: Using overload to parse arithmetic terms (representing arithmetic expressions for pretty-printing)
- Partitioning a set into parts of given sizes
- Re: Challenge: Egg Timer Puzzles (code for calculating GCD with Bezout coefficients; i.e, the extended Euclidean algorithm)
- Memoryless iterator for integer partitions
- Re: challanging the dictionary (NP-complete problem in disguise)
- Re: Bitwise File Shredding (secret-sharing and information theory)
- Re: (contest) Help analyze PM reputation statistics (information theory)
- Re: Are Perl patterns universal? (universality of computational models)
- Re: Comparative satisfiability of regexps. (decision problems of regular languages)
- Re: Create hierarchies from list of keywords -- well known algorithm? (decision tree learning)
- Re: Random Math Question (pseudorandom generation)
- Re: Algorithm to fit photos into spaces on pages (recasting a problem in terms of regular languages)
- Re: OT(ish) - Best Search Algorithm (an application of biconnectivity in graphs)
Evolutionary algorithms links:
In a previous life, I was very interested in evolutionary algorithms. Here are some (biased) links, which are by now terribly out-of-date:Perl Modules:
- Algorithm::Evolve, by me! Flexible enough for lots of experimenting, but not comprehensive.
- Algorithm::Evolutionary probably most complete (and complex).
- AI::Genetic also looks like a good choice, though I haven't looked at it throroughly.
- Algorithm::Genetic, no crossover operators.
- AI::GA, little control over selection/replacement. String chromosomes only.
- A Beginning Guide To Evolutionary Algorithms by yours truly.
- Genetic algorithms applied with Perl, from IBM's "Cultured Perl" column
- Evolutionary computation in Perl and some YAPC presentation slides from the author of Algorithm::Evolutionary
- Online lecture notes: Optimization & Modelling With Artificial Life, by Dan Ashlock (my old professor)
- Genetic Programming or breeding Perls. I also wrote a reimplementation of this idea using my Algorithm::Evolve module. It's included in the distribution's examples.
- Looking for help with AI::Genetic and classroom scheduling
Random:
What famous people had to say about me:- "The vanity of teaching doth oft tempt a man to forget he is a blockhead."
-- George Savile, first Marquis of Halifax, 1633-1695 - "The great person is ahead of their time, the smart make something out of it, and the blockhead, sets themselves against it."
-- Jean Baudrillard - "A learned blockhead is a greater blockhead than an ignorant one."
-- Benjamin Franklin - "No man but a blockhead ever wrote except for money."
-- Samuel Johnson - The bookful blockhead, ignorantly read
With loads of learned lumber in his head.
-- Alexander Pope - "The liar at any rate recognizes that recreation, not instruction, is the aim of conversation, and is a far more civilised being than the blockhead who loudly expresses his disbelief in a story which is told simply for the amusement of the company."
-- Oscar Wilde - "A grave blockhead should always go about with a lively one - they show one another off to the best advantage."
-- William Hazlitt - "A blockhead cannot come in, nor go away, nor sit, nor rise, nor stand, like a man of sense."
-- Jean de la Bruyere - "There never was any party, faction, sect, or cabal whatsoever, in which the most ignorant were not the most violent; for a bee is not a busier animal than a blockhead."
-- Alexander Pope - "Being a blockhead is sometimes the best security against being cheated by a man of wit."
-- François, Duc De La Rochefoucauld - "When there is sympathy, there needs but one wise man in a company and all are wise,—so, a blockhead makes a blockhead of his companion. Wonderful power to benumb possesses this brother."
-- Ralph Waldo Emerson
- 2003-10-12 • 197 posts • 3000 xp • 228th saint
- 2004-05-13 • 278 posts • 5000 xp
- 2004-09-06 • 334 posts • 6000 xp
- 2004-10-28 • 360 posts • 6400 xp • top 100
- 2005-03-10 • 385 posts • 7000 xp
- 2005-10-04 • 437 posts • 8000 xp
- 2006-04-29 • 489 posts • 9000 xp • 90th Prior
- 2007-03-24 • 526 posts • 10000 xp
- 2007-12-17 • 575 posts • 11000 xp
- 2009-10-14 • 631 posts • 12000 xp • 102nd Monsignor (I sure have slowed down!)
<style type=text/css></style>