Search This Blog

Same Song, Opposite Aisle

These days there are a number of web sites where people mostly post quotations from news articles and/or commentaries on said articles. (The sources of the news articles don't much appreciate the quotation; there's been at least one lawsuit over the matter.)

freerepublic.com is the right-wing flavor. There you'll find a lot of creationism threads--there are either a lot of creationists or a few really vocal ones at freerepublic.com. (OTOH, there are rational people there, too.) You'll find a lot of religious ranting and bashing of homosexuals, and people who dare point out that GWB is pushing big government despite the posturings of the Republican Party are flamed at great length. There's a libertarian contingent that regularly points out the idiocy of the Drug War, and is just as regularly flamed for their troubles, and simultaneously told that (1) they're too few in number to be significant and (2) they're helping the Democrats by "stealing" votes from Republican candidates. During the Clinton administration, there was a tinfoil hat contingent that went somewhat off the deep end (and considering Clinton, that requires some work).

democraticunderground.com is the left-wing flavor. There you'll find a number of religious threads, mostly arguing that "true Christianity" favors income redistribution and the welfare state. There's an astrology contingent, so one certainly can't say that the left is immune to pseudoscience and other such claptrap. There's a Green contingent who's mostly told that they're helping the Republicans by "stealing" votes from Democratic candidates. There's a large, or at least vocal, tinfoil hat contingent who wholeheartedly believes GWB let 9/11 happen so his buddies could make money, that the Republicans assassinated Paul Wellstone, etc.

To freerepublic.com's credit, they're a lot more willing to tolerate varying opinions than democraticunderground.com, which bans people for thoughtcrime, and back in 2002 prohibited posts that the moderators thought might hurt the Democratic Party...but upon reflection, it seems like what we have here in large part are two batches of True Believers, just working opposite sides of the street.

Popular posts from this blog

Therefore, I will follow the excellent advice of Stephen Diehl, and will not write a monad-analogy tutorial. Instead, I will say: do the 20 Intermediate Exercises, and take the Monad Challenges. To paraphrase Euclid, there is no royal road to Monads; the exercises and challenges take you down that road at whose end you'll see at least part of why Monads are so useful.

If you were trying to learn group theory and people were standing around you saying "groups are like the integers", "groups are like Rubik's Cube", "groups are like m x n matrices", "groups are like baryons and mesons", your situation would be much like the student of Haskell amidst all the monad analogy tutorials. In a sense they're backwards. All those things are groups, just as burritos et al. can at least be thought…

I came across the excellent Monad Challenges, a collection of exercises designed to take you through what have become some of the standard example monads and take you through the process that motivates monads as a way to handle these seemingly diverse data structures. Both the Monad Challenges and the 20 Intermediate Exercises are well worth your time. Doing them both is helping me a lot.

That said, they don't quite match up. 20IE's banana is flip bind and apple is flip ap. (This isn't unique; the also excellent Learning Haskell from first principles has as an exercise writing bind in terms of fmap and join, but the declaration it gives has the type of flip bind. The authors do point this out.) As a result, I find myself with something that there's got to be some way to simplify, of the form

foo = flip $ (flip mumble) . (flip frotz)

I'd like to think there's some sort of distributive-like law to be found and used here... watch this space.

fivethirtyeight.com has a weekly column, "The Riddler". The Riddler poses two problems in each column. The first, "Riddler Express", is intended to be an easier problem that one can solve quickly, while the second, "Riddler Classic", is more difficult. Modulo vacations, it appears each Friday, and if you submit a solution by the end of the following Sunday (Eastern Time) , you will be among those who might be given credit for the solution in the next column.

The August 28th column's Classic problem is as follows: what's the longest sequence of integers x[i] for 1 ≤ i ≤ n such thatfor all i, 1 ≤ x[i] ≤ 100for all i < n, either x[i+1] is a multiple of x[i] or x[i+1] is a factor of x[i]for all i, j, x[i] = x[j] iff i = j, i.e. the x[i] are all distinct
(The last constraint avoids trivial sequences like 2, 4, 2, 4, 2, 4... which can go on forever if repeats are permitted.)

One way to characterize this problem is to look at it as a graph with a hu…