Wolfram Computation Meets Knowledge

Best of Blog

Automatic Physical Units in Mathematica

I just published a Mathematica package that provides an alternative, richer implementation of units and dimensional analysis than the built-in units package. You can get it here. Aside from being a really nice extension to Mathematica, it is also an interesting case study in adding a custom data "type" to Mathematica and extending the knowledge of the built-in functions to handle the new "type". First I have to explain the point by answering the question, "What's wrong with the built-in units package?" Well, there is nothing actually wrong with it, it just doesn't apply Mathematica's automation principles. It can convert between several hundred units and warn if a requested conversion is dimensionally inconsistent. But give it an input like... and it does nothing with it until you specify that you want the result in a specific unit. The core reason is that it doesn't teach the system, as a whole, anything about units, or even that the symbol "Meter" is any different than the symbol "x". All of the knowledge about units and Meter in particular is contained in the Convert command.
Design & Visualization

Navigating the Blenheim Maze

I read Jon McLoone's recent "aMazeing Image Processing in Mathematica" post with some interest. It showed how to import an image of a maze, and then use image processing functions in Mathematica (some new to Version 8) to draw paths through the maze. What fun! I then observed, to my dismay, that there was no way to determine a "good" path. Frankly, I was disappointed. I decided that there must be ways to do this in Mathematica. One approach would involve forming a graph. We would have vertices at points where the maze path forks, and we would make weighted edges from approximated distances between these vertices. New functionality in Mathematica supports these graph methods. Unfortunately I am not yet familiar with it.
Education & Academic

How to Win at Coin Flipping

Let's flip a coin, over and over. Beforehand, the players each pick a sequence of flips. The sequence that occurs first wins. With HH vs. TH, HH will win if the first two flips are HH and will lose if any of those flips are tails. HH vs. TH has a 1/4 vs. 3/4 possibility of winning. Phrased a different way: Suppose I offer a bet on a series of coin flips. One of these bets would be bad for you. Which one? The odds of the event occurring are given at the end. (The second bet is the bad bet to take.) HTT appears before TTT. If it does, I give you $1. If not, you give me $4. (7/8) HHT appears before TTT. If it does, I give you $1. If not, you give me $3. (7/10) THH appears before HHT. If it does, I give you $1. If not, you give me $2. (3/4) HTH appears before THH. If it does, I give you $1. If not, you give me $1. (1/2) This is the strange world of Penney's game. Here is a table of odds and facts for various 3-flip games. Calculating these odds can be both tedious and mathematically demanding—a natural job for Mathematica or Mathematica Home Edition.
Education & Academic

Conrad Wolfram’s TED Talk: “Stop Teaching Calculating, Start Teaching Math”

"We have a real problem with math education right now," is how Conrad Wolfram starts his TEDGlobal 2010 talk in Oxford, in which he reasons through what's wrong, why, and how we can fix it. Central to Conrad's argument is the role of calculating—that for the mainstream subject it's not an end in itself, but a means to an end, and therefore should be wholeheartedly computer based. As he puts it, "Math ≠ Calculating, Math >> Calculating". He's optimistic about what's possible. "We have a unique opportunity to make math both more practical and more conceptual simultaneously," and to get people to "really feel math". Couldn't agree more? Dramatically disagree? Let us know. PS: If you would like to get involved, check out and join computerbasedmath.org.
Announcements & Events

Programming with Natural Language Is Actually Going to Work

I love computer languages. In fact, I’ve spent roughly half my life nurturing one particular very rich computer language: Mathematica. But do we really need computer languages to tell our computers what to do? Why can’t we just use natural human languages, like English, instead? If you’d asked me a few years ago, I would […]

Announcements & Events

The Free-Form Linguistics Revolution in Mathematica

With the release of Mathematica 8 today, the single most dramatic change is that you don’t have to communicate with Mathematica in the Mathematica language any more: you can just use free-form English instead. Wolfram|Alpha has pioneered the concept of specifying computations with free-form linguistic input. And with Mathematica 8, the powerful methods of Wolfram|Alpha […]

Announcements & Events

Mathematica 8!

Mathematica 8 is released today! It’s a huge and important release. With dramatic breakthroughs—and major broadening of the whole scope of Mathematica. After 8 versions and 22 years most software systems have decayed to slow and lumbering development. But not Mathematica. In fact, with Mathematica it’s quite the opposite. As the years go by, Mathematica […]

Announcements & Events

A Sneak Peek at Mathematica 8

Continuing with tradition, Wolfram Research Founder and CEO Stephen Wolfram kicked off last month's Wolfram Technology Conference 2010 by highlighting the year's top developments and sharing insights on new directions for Wolfram technologies. This year's conference keynote featured the unveiling of the forthcoming Mathematica 8, a demonstration of its powerful new functionality, and future opportunities for Mathematica and Wolfram|Alpha. In the first part of this series, Stephen talked about Mathematica's "unstoppable momentum" and announced some of the new features coming in Mathematica 8.
Design & Visualization

How to Make a Webcam Intruder Alarm with Mathematica

Ever since I wrote the "Doing Spy Stuff with Mathematica" blog post, I have had a feeling that I am being watched. Time to build some office security using Mathematica Home Edition! First, I am going to make use of an imminent new Mathematica command CurrentImage, which will import a real-time image from a video device. Let's get some test images using the webcam on my laptop.