winterkoninkje: shadowcrane (clean) (Default)

Anyone who thinks sexism isn't such a big thing anymore, needs to read the following articles. Anyone who has been raised as male and thinks women's lives are essentially the same, needs to read the following articles. Anyone who wants to believe they aren't sexist or who wants to think of themselves as an "ally" to women, needs to read the following articles. Anyone who lives or works in academia, needs to read the following articles.

The terrible bargain we have regretfully struck
quoth @juliepagano: "If you are a man and have been confused about some of my anger and frustration recently, read the post."
Teaching Naked, Part 1
quoth @jenebbeler: "Incredibly thoughtful post about how a young female prof handled an inappropriate student comment"
Teaching Naked, Part 2
Followup to the first post, on how the administration responded to how she handled the sexual harassment.
winterkoninkje: shadowcrane (clean) (Default)

Why I disagree with Wesley Yang’s conclusion:

We are not the mythical Hollywood Spartans Aaron and I laughed at together many years ago after watching 300. We were slowly, reluctantly, falling in love after both of us had rejected dayjob life at Wired. That night we were both amused and just a little bit horrified that this primitive notion of what makes virtue; that the heroes of this story would have killed us both as children. Aaron and I were part of a culture that prides itself on not slaughtering deformed or sickly children, or leaving unwanted babies to die of exposure. Instead we were the people that could go to the moon and builds ADA ramps. We hold people like Stephen Hawking up as paragons, not of their virtues, but ours. We contend that we live better and more wisely for keeping brilliant minds in useful arts and sciences not only alive, but offering a place where they can thrive and enrich us all.

And we are lying.

Gender Bias 101 For Mathematicians:

The great enemy of the truth is very often not the lie—deliberate, contrived and dishonest, but the myth, persistent, persuasive, and unrealistic. Belief in myths allows the comfort of opinion without the discomfort of thought. -JFK

(This is followed by a list of myths and refutations.)

Math envy

31 Dec 2012 02:22 am
winterkoninkje: shadowcrane (clean) (Default)

I have often derided those who are susceptible to math envy. Y'know, the idea that math=intelligence. This utter foolishness leads to the simultaneous fear and awe of anyone who throws math around, as if the presence of mere symbols and equations demonstrates the clear superiority of the author's throbbing, bulging,... intellect. This utter foolishness leads, therefore, to authors who feel the need to add superfluous "mathematics" to their writings in order to demonstrate that their... intelligence measures up that of their colleagues.

Well, turns out, someone finally got around to doing a study on math envy: Kimmo Ericksson (2012) "The nonsense math effect", Judgment and Decision Making 7(6). As expected, those with less training in mathematics tend to rate utterly irrelevant "mathematical content" more highly than its absence. Lest anyone start feeling smugly superior, however, I'll note that I've seen this effect most strongly in those who should know better, i.e., those with just a little mathematical training. This includes, for example, computer scientists who are not formal theoreticians. Not to name names, but I've read more than one NLP paper that throws in some worthless equation just to try to look more worthwhile. (These papers are often fine, in and of themselves, but would have been better had they not succumbed to math envy.)

As Language Log points out in their coverage, this isn't limited just to math. Some people also have brain-scan envy and similar afflictions. That's definitely worth watching out for, but IME people seem more aware of their pernicious effects while being blind to math envy.

winterkoninkje: shadowcrane (clean) (Default)

I just came across this fabulous paper by Broder and Stolfi. It should be more widely publicized. EOM.

winterkoninkje: shadowcrane (clean) (Default)

Via [personal profile] silmaril: If you're a dancer, you've heard about isolation. If you're a belly dancer, you've heard a lot about isolation. Well.... Watch this, and weep. In envy, I won't lie.

Oh yes, weeping shall commence.

winterkoninkje: shadowcrane (clean) (Default)

Immutability and Blocks, Lambdas and Closures (André Pang): Mr. Python, please call the office. Your abstractions are leaking.

winterkoninkje: shadowcrane (clean) (Default)
Hat-tip to Homasse:

Gamers beat algorithms at finding protein structures

Today's issue of Nature contains a paper with a rather unusual author list. Read past the standard collection of academics, and the final author credited is... an online gaming community.

Scientists have turned to games for a variety of reasons, having studied virtual epidemics and tracked online communities and behavior, or simply used games to drum up excitement for the science. But this may be the first time that the gamers played an active role in producing the results, having solved problems in protein structure through the Foldit game.

As I commented there: working in natural language processing, one of the big tasks is manually analyzing the outputs in order to figure out where the maths went wrong and how to add human-intelligence. Some folks have recently started using Amazon's Mechanical Turk for this kind of thing, but I think the game setting is a lot more enticing than paying folks a penny per task. Especially once you throw in the MMO features like player ranks and special challenges.

winterkoninkje: shadowcrane (clean) (Default)
This is a followup to a recent post on Parameterized Monads which I discovered independently, along with everyone else :)

For anyone interested in reading more about them, Oleg Kiselyov also discovered them independently, and developed some Haskell supporting code. Coq supporting code by Matthieu Sozeau is also available. And apparently Robert Atkey investigated them thoroughly in 2006.

If people are interested in more Coq support, I've been working on a Coq library for basic monadic coding in a desperate attempt to make programming (rather than theorem proving) viable in Coq. Eventually I'll post a link to the library which will include parameterized monads as well as traditional monads, applicative functors, and other basic category theoretic goodies. This library along with the Vecs library I never announced stemmed from work last term on proving compiler correctness for a dependently typed language. Hopefully there'll be more news about that this fall.
winterkoninkje: shadowcrane (clean) (Default)

I like Smalltalk. Of any of the OO options it's by far my favorite. And yet, this most powerful language of the '70s has been relegated to oblivion. Robert Martin of Object Mentor Inc. gives a talk at Rails Conf 2009, "What Killed Smalltalk Could Kill Ruby, Too", which is well worth watching. I've since abandoned the whole OO paradigm in favor of functionalism, but I think this talk also has a good deal to say to the Haskell community (in fact, hat tip to Nick Mudge on Planet Haskell).

In particular, around 37:00 to 41:00, Martin talks about one of the three major things to kill Smalltalk. This one is the greatest danger for the Haskell community: arrogance and parochialism as a result of an emphasis on purity. The complaint is a common one, though I think the mention of purity is something which should be taken with depth. (Certainly purity is one of the highest horses we Haskellers will climb upon.) In an interesting addition to the usual dialogue, Martin posits professionalism as the countervailing force we need to maintain in the face of the growth of the community.

I highly recommend the video. The actual talk starts about six minutes in, and after the ending at 50:00 there's a Q&A session with a couple good questions.

winterkoninkje: shadowcrane (clean) (Default)

Joel on Software says somewhere that there are two things every programmer must understand to call themselves a computer scientist. The first: pointers, which can only be understood —in all their subtle horror— by learning C (or assembly). The second is recursion which can only really be learned from pure functional languages (or mathematical topology). Many imperative programmers think they understand recursion, but they don't. Lists are pretty. Trees are cute. Binary is pretty cute. But you don't understand recursion until you've been throwing bananas at bushes and convinced people it makes sense.

Today I present a job problem a coworker thought was impossible. It's a run of the mill problem, says the Haskeller, but it highlights the extent to which Java and imperative thinking cloud the simple mathematical problem and the equally simple functional solution. Consider for the moment that you're writing a program to do parsing-based machine translation. You have a bunch of CFG-like rules. Somewhere in your program you have a function that takes, for each non-terminal position, a list of all parses which can produce the given non-terminal, and you want to try all possible ways of completing each rule. For grammars restricted to only having at most two nonterminals per rule, your function looks something like this:

public void completeCell(a bunch of arguments,
                         ArrayList<Rule> rules,
                         ArrayList<ArrayList<Parse>> allParses) {
    for (Rule r : rules) {
        if (r.arity == 1) {
            for(Parse p : allParses.get(0)) {
                ArrayList<Parse> antecedents = new ArrayList<Parse>();
                antecedents.add(p);
                doCrazyStuff(a bunch of arguments, antecedents);
            }
        } else if (r.arity == 2) {
            for(Parse p0 : allParses.get(0)) {
            for(Parse p1 : allParses.get(1)) {
                ArrayList<Parse> antecedents = new ArrayList<Parse>();
                antecedents.add(p0);
                antecedents.add(p1);
                doCrazyStuff(a bunch of arguments, antecedents);
            }
            }
        } else {
            System.crash("ohnoes, we can only do two!");
        }
}

Did you read all that? Neither did I. But now it's your job to generalize this function so that it will work for rules with an arbitrary number of nonterminals. Obviously, adding extra conditionals with additional loops can only ever get so far. I bring up that the problem domain involves formal language theory, not just because it does, but because it gives us a much cleaner way to think about the problem without code bloat obscuring our vision. Consider the following class of formal languages: someone hands you a sequence of sets of letters, and you must enumerate all sequences of letters consistent with it (that is, the letter at position X is an element of the set at position X, for all X). In particular, your algorithm for enumerating these sequences must work no matter how long the (finite) sequence of (finite) sets is. These are exactly the same problem. All that fluff about what you do with the sequences after you've created them is just that. Fluff. Ditto for what the letters look like inside and why you'd want to do this in the first place. But given this simple problem enumerate :: Seq (Set a) -> Set (Seq a), do you see what the answer is?

See if you can work it out. )
winterkoninkje: shadowcrane (clean) (Default)

I used to drink the kool aid, it had a nice taste, but the more time passes the more I find myself agreeing with Bart, my mentor of old. Objects are big pile of fail. The Rubyists and the Pythonistas are coming now, with their pitchforks and baling wire. But they need not worry, they will be last against the wall. But to the wall they still will go.

In which I (drunkenly) tell everyone where they can go )
winterkoninkje: shadowcrane (clean) (Default)

Okay, so my plans for weekly postings about the papers I've been reading failed. Mostly because I haven't been reading as many these last few weeks than I had been. But I left off with a comment about testing in Haskell and I figured I should pop that off my stack before going on to a different post.

One of the glorious things about having a pure, side-effect free, language is that you can state properties of your program as mathematical laws. When you, the programmer, know your code should adhere to some law like x + y == y + x, the usual thing most languages force you to do is enumerate a few hundred unit tests stating the law over and over with different values for x and y. But what if you could just state the law itself and let your test harness make up the examples? While mathematics is obviously amenable to such laws, the realm of lawful programming extends far beyond mathematics.

Consider for example that you have some function you want to write which has an implementation that's entirely straightforward yet painfully slow, and another implementation that's horrifically complex but fast. Naturally we'd like to use the fast version, but how can we know it's implemented correctly? The slow implementation is easy to decipher so it's easy to spot check for being correct. The easiest way to test the complex version is to implement both, dictate a law stating they're equal (i.e. they give the same output for the same inputs), and then let our test harness try a few thousand arbitrary inputs and check that the outputs are indeed the same.

If that idea sounds so outrageous, so unfathomable, so simple that it just might work then QuickCheck is the test harness that made it happen. For those who've been around the Haskell community for a while, you may be wondering why I'd bring up this oft-trotted-out example of the beauty of pure functional programming. Well, other than introducing the new folks, QuickCheck ain't the only lawful kid on the block.

SmallCheck, LazySmallCheck, SparseCheck, StrictCheck,... ChasingBottoms, HUnit, HTF )

Edit 2008.07.15: Oh, and don't forget HPC

winterkoninkje: shadowcrane (clean) (Default)

Now that the summer's here I've been hoping to get back into posting more regularly. Over the last year I've accumulated a large number of "to read" papers on various topics having to do with functional and logic programming. And now that the summer's here I'm finally getting a chance to go back and read them. That sounds like two great tastes that taste great together, so let the linkblogging begin.

Functional programming is historically maligned with having less efficient implementations than imperative languages do, mostly because historically that's been the case. Note the emphasis on "historically". However, if you're not careful, you may be perpetuating that sad state of history. If you think —being a non-academic programmer— that academic papers don't affect you, quoth dons on #haskell: programming is not for the naïve.

In functional languages the list data structure is foundationally ubiquitous, and in lazy languages like Haskell they also abstract over the recursion pattern of loops in imperative languages. Unfortunately this excessive use of lists places an enormous burden on allocating and reclaiming memory, which is a major source of historical inefficiencies in functional language implementations. Fortunately, much research has been done to overcome these issues... if you take advantage of it.

One of the great claims of high-level (mathematically-rigorous) languages is that the altitude gives the programmer the ability to program prettily and idiomatically, while making the true invariants more visible to the compiler thus allowing it the freedom to optimize as far as (or further than) illegible programming would've let you. Today's papers are about approaching that goal through "deforestation" techniques which are a subset of "fusion" optimizations. All of today's papers are about automating these optimizations, but compilers are complex and it takes time to work current research into them. So today's post is also a PSA: only you can start forest fires, use libraries which optimize your lists away.

Three papers to start you on your way to deforestation )
winterkoninkje: shadowcrane (clean) (Default)

Think before you make the coward's choice.
Old age is not for sissies.

winterkoninkje: shadowcrane (clean) (Default)
"It is rather the soul than the hand, the man than the technique, which appeals to us -- the more human the call the deeper is our response."
— Okakura Kakuzo, "The Book of Tea"
winterkoninkje: shadowcrane (clean) (Default)

I am not at Renn Fayre. To be honest I had not truly intended to go, but some part of me did want to, did consider, for the first time in the last couple-few years. The thing that prolly did me in was the ticket price (alas poor student!) though my back getting all messed up this week didn't help for having the schoolwork out of the way either. And since I'll be moving out to Baltimore this summer, this is the last year I could go for some while. More's the pity: this year a number of old friends came in for the weekend.

Livingroom table, covered with papers and oddments. Dinner, a simple dish of spicy tofu and baby bok choy. On the side, Dos Equis. On the mind, time. Passing, withering, wasting, empty. In the background, Type O Negative, Bad Religion, This Mortal Coil, Social Distortion. Songs grown old with playing, flat and infirm now, not strengthened by the fermentation. I've a'once too much music to listen to and not enough that's new, different, emotional. There's something in the water, or something in the age. The affliction's been going round like influenza for a year amongst the élite of all my friends.

Years ago I took steps to remove myself from the public stream of media. And for the longest time this was a good thing. Friends partook oft enough to know enough of what goes on in the world abroad, filtered of the nuisance and propaganda of the presentation. But as time's worn on those friends have flown 'way, worn thin. These days there seems to be more of a disconnect, like I'm being left behind by the world, rather than having time to enjoy it untethered by frivolities.

The problem with age is that the older you get noone tells you to go out and play. Trapped in the workaday world, every moment is a moment you could be doing more work. Trapped in the studyaday world, every moment is a moment you could be doing more research. Scheduled downtime, for movies, or shows, for gaming, for walking, slips away. Entertainment is scheduled in the cracks, reading on the bus, blogging before work, a moment's respite in a restaurant, but without a time out of time they are but passing distractions in the big rush, to make it big, to make a difference, to get known, to get ahead, to get dead.

Growing up we saw in our parents the dismal life we could never understand. No friends, no fun, no lives, no sleep —or perhaps sleep for once, that blissful narcotic, the waters of Lethe to wash away the worries of today, tomorrow, forever, waters rushing calmly over slumbering heads. And through our rush to grow up, to be free of the shackles of youth, we rush headlong until we wake one day and wonder where it all went so wrong.

Yet in our introspection we have our answers. In our friendships we have our drugs. And in our memories we have, of our demons, also Annwn. And Time too, the Great Destroyer, is the antidote to the suffering it brings. We have only to adjust, to relearn, to forget. And to never stop searching.

winterkoninkje: shadowcrane (clean) (Default)

This isn't so much a post as a listing. I've been getting back into music recently. Music's always been something deep for me, though it's been a long time since I've let myself steep in it. A long time since I've explored it. But recently I've been bumbling around and have found a few new sparks for making embers.

In fact, for the first time in years I'm considering actually investing some money in music. Y'know, whenever I have some money around. So, for years from now when that happens, here's a snapshot of artists I'm currently hoping to explore:

  • Rihanna — Music of the Sun primarily for the song Pon De Replay though she sounds fun overall
  • YukiWAVE or anything else really, though her name's, er, hard to search for
  • Rei Harakami — anything but [lust] which I already have
  • Pretty Girls Make GravesGood Health or Élan Vital as I already have The New Romance
  • Catpower — anything. period. Recommendations?
  • Jason Webley — anything but Counterpoint which I already have
  • 雅-Miyavi- — anything since I only have single songs
  • Wild Colonials — anything but This Can't Be Life which I already have
  • Silver Jews — anything but American Water which I already have
  • Jonathan Coultonum, yeah.
  • Soemon (箏衛門) — because koto rocks
  • JJ Lin 林俊傑 — possibly the album 曹操 for a place to start
  • Loituma — mmm Finnish folk music. You may have seen this around some while back
  • Wolfsheim — Could be fun
  • Dir en Grey — anything but Withering to death. which I already have
  • Throwing Muses, or, Kristin Hersh — anything I still don't have
  • Jason Mraz — maybe Mr. A-Z primarily for the song Geek in the Pink

As you may have noticed, quite a number of those are japanese. I'm hoping that by the time I have the money to throw down I'll be able to get a friend of mine in Japan to get them and ship them to save on shipping. Mainly because doubling the already high prices for the importer's fees in addition to shipping, yeah, not so much.

winterkoninkje: shadowcrane (clean) (Default)

Just a small collections of things... Today I went to Geek Fair, had a decent time, got to walk around and talk with Z-san afterwards and found an old fountain I'd mislaid.

A few days back I had a most excellent beer. Now I'm not much of one for beer in general, though I can certainly respect a good one. There's this beer down at the grocery store I'd thought looked interesting for a while, but the price always seemed a bit too high for me. Last time I went shopping it was on sale, not much of a sale — one dollar off is all — but enough to bring it within cost for trying, and so I got the four pack. I had one not so long ago and oh man it was tasty, a good thick dark beer. A bit pricey for something to drink regularly but Old Rasputin Russian Imperial Stout is well worth the cost when you just want to sit down with a top of the line drink and enjoy life.

Work has been interesting. I'll be starting up some rambling about LDAP over on my f/oss blog this week to document my travails. That is afterall what the f/oss blog is for, much as it is frequently defunct.

Courtesy of nekketsu I've fallen madly for YUKI, a former member of JAM. Her videos are utterly bizarre. And gorgeous. And her voice is so unique and lovely. I'll have to see if I can't get my hands on some cds by her. Some choice PVs are: JOY (Live), メランコリニスタ, End of Shite (some surreality may not be work safe), ふがいないや, ドラマチック, ヘローグッバイ, 長い夢, スタンドアップ!シスター, 喜びの種, Home Sweet Home. ::sigh::

In searching around for Yuki I also discovered Lolita23q (少女ーロリヰター23区). Ah sweet sweet visual kei. This too I must come to possess. Siren Blue, 888 ~Kohaku tou no Shoujo~, Usagi ni Geru Hanazono, Ishoku Othello. (Hey Pretty. Fan tribute, different band does the song.)

And if you're still not convinced yet this is part of why I love Japanese. And this. And this. And this. And this.

In other news [livejournal.com profile] theweaselking wins at the internet. That had me cackling for an hour at least. And if that's not enough this only makes it better. ::chortle::

winterkoninkje: shadowcrane (clean) (Default)

Dear housemates,

I'm sorry if I kept you awake tonight. You both looked exhausted from a long night of revolting knitting. But I couldn't help myself. I was reading Best of Craigslist — yes, I know, these things should be done in the privacy of one's own room — but I couldn't help myself. I had started before you came home while talking on the phone with H-chan. I took a break from the humor to read a political manifesto, but that's when things started going down hill. That wasn't the worst, no, that was about when you came home. I managed to contain myself when you opened the door. But once you went upstairs I started reading again. And then, after a while I just couldn't contain myself. It was just a slip, I didn't mean to.

So I took a break, took a breather. I understand, some things may be inappropriate. But they're still amusing. Others are not so humorous, but sincere. And in still others the plea of desperation cannot be masked by the humour. The quiet desperation. But don't let the seriousness get you down. You can have a good time too. It was quite humerous towards the end, but you know how tales of romance can be.

Yours,

~housemate

RSS Atom

April 2019

S M T W T F S
 123456
78910111213
14151617181920
212223242526 27
282930    

Tags

Page generated 6 Jul 2025 09:29 pm
Powered by Dreamwidth Studios