Wolfram Computation Meets Knowledge

Education & Academic

Work in the Land of Lakes and Volcanoes (Trabajo en la Tierra de Lagos y Volcanes)

Most of the time I’ve spent working for Wolfram Research has been in the comfort of a climate-controlled office at our Champaign, Illinois headquarters. I’ve had easy access to my great co-workers, multiple computers and a Gigabit local network. I’ve had flexible working hours, a relatively short and pleasant bicycle commute, numerous delicious restaurants nearby and a window overlooking the beautiful campus of the University of Illinois (okay, and the roof of a McDonald’s). All things considered, it’s a pretty good place to be. When I told Theo (my boss) that I wanted to give all this up and spend a year living in a Nicaraguan jungle, there was a bit of hesitation, but not much. We agreed fairly quickly that we could make it work. Here’s where I was headed:
Education & Academic

The Equations of the Bridge

I work on computational algorithms for Mathematica, and I always like to see that what I do is helpful in solving real-world problems. When I heard about the I-35W bridge collapse, I wanted to see if anything could be learned from computing the mechanics of the bridge with Mathematica. Large packages have been written for doing structural computations with Mathematica. But I wanted to start from first principles to try to understand the whole picture. A truss bridge can be thought of as a graph, with trusses as edges and joints as nodes, as in the picture here:
Announcements & Events

The Space of All Possible Bridge Shapes

When I hear about something like Wednesday’s bridge collapse, I immediately wonder whether any of the science I’ve worked on can be of any help. Bridge design is one of the classic—almost iconic—successes of traditional mathematical science. And when I first talked about A New Kind of Science, a not uncommon reaction was precisely, “But […]

Announcements & Events

Taking Control of Mathematica

Who would think you could get so much work done just by twiddling your thumbs? Mathematica 6 brings with it a host of new ways to interact with your output. Want to set up an arbitrary number of parameters and explore their multi-dimensional space? That’s trivial to do with the Manipulate function. However, once you start exploring this space, you immediately realize that your exploration is restricted by the mouse pointer. There’s only one pointer on the screen. It can only interact with one control (slider, checkbox or whatever) at a time. Fortunately, hardware developers realized long ago---long before multi-touch interfaces like Apple’s iPhone, which are in vogue at the moment---that most people have 10 fingers and so in theory can access many more degrees of freedom than the two degrees provided by a typical mouse. Enter the gamepad.
Announcements & Events

A New Kind of Building?

I recently came back from the NKS 2007 Summer School and the 2007 Wolfram Science conference. This was my third time at the Summer School, after being a student in 2003 and an instructor in 2005. Being an instructor at the NKS Summer School means giving lectures about A New Kind of Science, but the most intense part is supervising student projects. Each Summer School student carries out a project that can be used in a variety of ways---for example, some are published in academic journals, used as the basis of doctoral dissertations or incorporated into professional activity. (A nice feature of this year’s Summer School was that students could now also present their work in the Wolfram Demonstrations Project.) This year I supervised five projects, with topics ranging from social networks to finite state automata. And as an example, I thought I’d write a little bit about the story of NKS 2007 student Maurice Martel’s work.
Computation & Analysis

3D Printing with Mathematica

An email went out on a mailing list here at Wolfram looking for someone interested in learning about doing 3D printing. I’d heard about these so-called “Santa Claus machines,” but had never seen one in action. They’re really quite interesting. You tell Santa what you want, and out it comes---a shiny new toy! Now it’s not quite that simple, but you get the idea. The models that these printers create can’t be too delicate, or they’ll break. The kind of printer that I’m now most familiar with builds the model from the bottom up, constructing the object one layer at a time from plaster and water. A thin layer of plaster is deposited, then a binding agent sprays from basically an oversized ink-jet printer to harden the areas that form the object. Once the printer is done, you have to dust off the object and infuse it with a hardener so it’s less fragile. But back to the story. Ed Pegg Jr---associate editor for MathWorld---was writing an article about 3D printing and wanted to know more about the process. The idea was to print a physical 3D model of the Spikey, our company logo, at the University of Illinois at Urbana-Champaign, which is just a few blocks from our offices. (You can read about the development of the Spikey here.) This was the version we were working with: But how would we turn that image into something we could actually hold in our hands?
Announcements & Events

Science: Live and in Public

Our 2007 NKS Summer School started about two weeks ago, and one of my roles there was to show a little of how NKS is done. In the past, it would have been pretty unrealistic to show this in any kind of live way. But with computer experiments, and especially with Mathematica, that’s changed. And […]

Announcements & Events

Always the Right Time for Mathematica…

I was rummaging around on the web the other day and ran across an example of implementing an analog clock, written in MATLAB---a numerical matrix system that’s sometimes compared to the numerics component of Mathematica. I was curious to see how the MATLAB implementation compares to a Mathematica implementation, so I took a few minutes to write its equivalent. Here’s a quick shot of part of the result (download the Mathematica notebook to see the clock run in real time):

The exercise surprised me---not because the Mathematica code is so concise and straightforward, but because of how much I’d have had to learn and how hard I’d have had to think and what volume of code I’d have had to write to do the same thing with MATLAB. After a statement like that in our company blog, I can hear you thinking that the spin doctors are hard at work. But have a look for yourself...
Announcements & Events

Mathematica 6.0.1 Arrives

It’s now two months since we released Mathematica 6, and I am happy to say that all our years of development and testing seem to be paying off: Mathematica 6 is a robust system that is performing excellently. But even long before Mathematica 6.0.0 was released, we were already working on what would come next. Our development process operates on three basic levels that translate roughly into “X” releases, “X.y” releases and “X.y.z” releases. At any given time, we are making incremental improvements to existing features that will be delivered in the X.y.z releases. We’re also building new features, that will arrive in X.y releases. And we’re working on major new areas of Mathematica functionality that will be delivered in the X releases. Looking at our internal development database, I see that 6.0.1 contains 259 individual code improvements relative to 6.0.0 (as well as a great many documentation and tutorial updates). What are they all? Well, they are distributed throughout the system (as well as in an update to the free Mathematica Player)---reflecting the continuing work of our many software development teams.