SQL Database Design with Yesod and Persistent

If you’ve ever designed a database from scratch, or worked with a database migrations, then you know how important it is to get the data schema right the first time. If you get them wrong, then when you (inevitably) have to fix it, you must do a major overhaul of your code just to fit the updated schema. In Rails, this means re-implementing potentially dozens of objects. In Haskell, it’s not as bad because the compiler handles most error checking (with Persistent, anyhow), but it’s still not a trivial exercise.

So how do you design a database with Persistent? You begin with database normalization (DN) in mind.

Continue reading

Machine learning theory is lagging behind

We’re in a very empirical era in machine learning…but theory is lagging behind. – Michael Jordan

@davidandrzej

Because computer scientists don’t study psychoanalysis or philosophy. A good place to start is Hubert Dreyfus. Next try Spinoza, Lacan, Foucault, Deleuze and Berkeley. What you’ll learn is that the intelligent world is explainable by interpretation, in the psychoanalytic sense. Then you realize that Turing’s imitation game is a mathematical description of this same concept of interpretation. This changes the way to look at computers, and the way to look at your own ability to think.

To regain your sanity, read Levinas.