A century ago,

Martin Gardner was born in Oklahoma.

He philosophized for his diploma.

He wrote on Hex and Tic-Tac-Toe.

The Icosian game and polyomino.

Flexagons from paper trim,

Samuel Loyd, the game of Nim.

Digital roots and Soma stairs,

mazes, logic, magic squares.

Squaring squares, the golden Phi.

Solved the spider and the fly.

Packing circles (with corrections),

ellipses, pi, and conic sections.

Summer has drawn to a close, and so too have our annual internships. Each year Wolfram welcomes a new group of interns to work on an exciting array of projects ranging all the way from Bell polynomials to food science. It was a season for learning, growth, and making strides across disciplinary and academic divides. The Wolfram interns are an invaluable part of our team, and they couldn’t wait to tell us all about their time here. Here are just a few examples of the work that was done.

Paco Jain

Wolfram|Alpha Scientific Content,

Wolfram|Alpha

Wolfram|Alpha Scientific Content,

Wolfram|Alpha

“This summer, I worked on adding scientific content to the physical systems domain in Wolfram|Alpha. While there is a lot to learn, everyone I worked with seemed enthusiastic to help me get up to speed, and I was able to form several valuable mentoring relationships. I also felt that I was given the resources and responsibility I needed to allow me to make meaningful contributions to the Wolfram|Alpha product. The experience has me already thinking about pursuing a full-time position at Wolfram!” As of October 2014, Paco is employed at Wolfram Research full time.

Daniel McDonald

Wolfram|Alpha Scientific Content,

Bell Polynomials and Recursive Algorithms

Wolfram|Alpha Scientific Content,

Bell Polynomials and Recursive Algorithms

“This summer at Wolfram|Alpha I worked as the Special Functions Intern. My primary project was reading mathematical literature in order to extract and verify formulas that could be useful for The Wolfram Functions Site as well as for possible *Mathematica* implementation. The most interesting part of my work involved creating a compendium of information about *Mathematica*‘s `BellY` function that computes various types of Bell polynomials, which are used in Faà di Bruno’s formula for computing arbitrary derivatives of the composition *f*(*g*) (as well as in generalizations of this formula for computing arbitrary derivatives of compositions of arbitrary depth). I devised an original functional recurrence that suggested a quick recursive algorithm for computing generalized Bell polynomials; as this algorithm ran much faster than *Mathematica*‘s at the time, it was implemented into *Mathematica* 10.0.1. This recurrence and thus the algorithm (with different base cases) can be applied in a more general environment, and I am currently drafting a paper to submit to an algorithms journal.”

Mark Peterson

Scientific Information Group,

Wolfram Demonstrations Project

Scientific Information Group,

Wolfram Demonstrations Project

“During my internship in the Scientific Information Group at Wolfram Research, my work has primarily been centered on the Wolfram Demonstrations Project. Essentially, Demonstrations are self-contained programs written in the Wolfram Language that are designed to appeal to the user in a highly intuitive and interactive way. Whether working on the Project directly or on alternate applications for its material, my time has been spent developing this sort of content.”

Jake Wood

*Mathematica* Algorithms R&D,

*Mathematica* `GeoGraphics`

“Joining the Wolfram team earlier this summer was an exciting professional milestone for me. I am a big fan of not only the software that has come from Wolfram, but also the mission and ambition to proliferate and nurture big ideas. My patient mentor explained that I was to figure out how to make the generated maps in `GeoGraphics` (new in *Mathematica* 10) move around and update from mouse clicking and dragging. Additionally, the maps needed to be zoomable, similar to maps online used for navigation. Right now my prototypes deal with the maps themselves instead of the verbose layers of graphics data that *Mathematica* is capable of imbuing. In the future, though, who knows. Getting the panning and zooming to work proved a difficult task; however, the brunt of the summer was spent on improving the performance speed. No one wants to use an interactive map that is insufferably unresponsive. The utility of this application is pretty clear, as it is similar to programs that people already use daily.”

Jessica Zhang

User Experience,

Wolfram*Tones*

User Experience,

Wolfram

“People would think as a User Experience Designer I would only be designing detailed features within a product or workflow. However, at Wolfram, I not only got to do those things, I also got to take part in the bigger decision-making design processes, even as an intern. I was given the opportunity to learn a variety of skills that are important and also at the cutting edge of the field. Technical skills include wireframing, wireflowing, diagramming, and interface design. Oh, and also using the espresso machine!”

Andrew Blanchard

Wolfram|Alpha Scientific Content,

Named Physical Effects

Wolfram|Alpha Scientific Content,

Named Physical Effects

“For my internship with Wolfram Alpha, I assembled a list of named physical effects. A typical effect provides a link between measurable physical quantities, which are already incorporated into Wolfram|Alpha. Thus, making information about known physical effects computable enables the exploration of relationships between measurable quantities. In addition, the searchable data provides a window into the relationship between the discovery of new effects and advances in the field of physics. By making scientific information searchable, Wolfram|Alpha is providing a wonderful service for researchers, students, and anyone curious about exploring science.”

Surojit Ganguli

Wolfram|Alpha Socioeconomic Content,

Computational Capabilities

“I was part of the team that was involved in increasing the computational capabilities of Wolfram|Alpha in the domain of vehicle dynamics. As a Computational Science and Engineering Minor at UIUC, the opportunity to explore the various ways in which computations are being performed at Wolfram was in itself a rewarding experience. As an additional bonus, I definitely improved in the area of functional programming by using *Mathematica*.”

Ying Qin

Wolfram|Alpha Scientific Content,

Food Data

Wolfram|Alpha Scientific Content,

Food Data

“I’ve been working on expanding food-related information in the Wolfram Knowledgebase. Among other things, this included the characterization and classification of food; I did research involving USDA data and other data sources. I was also working on expanding the food glossary, which gives a more detailed description of the available content. Furthermore, using my knowledge as a Food Science student, I was able to do things like classify fatty acids into groups. My advice to prospective interns is that you shouldn’t hesitate to apply even though your major is not computer science or engineering. As a Food Science major, I was happy to get involved here, and felt like it was a truly valuable experience.”

It’s been an amazing summer all around, and we couldn’t be happier with the contributions our interns have made. While we are sad to see some of them go, we are excited by the new talent that has been added to our team and can’t wait to see what next year will bring!

]]>Clearly data science is a major, growing, and vital field—one that’s relatively new in its current incarnation. It’s been born and is driven forward by new technology and our ability to collect, store, transmit, and “process” ever larger quantities of data.

But “processing” has often failed to elucidate what’s important in the data. We need answers, not just analytics; we need decisions, not just big data.

Computation in all its forms is a key to getting decisions from data. And funnily enough, it’s not only for analytics that computation’s used, but for enabling human language data interrogation, interactive deployment, and many other examples—crucial usability, not only raw computational power.

It’s to bring all these aspects together that we’re hosting a 1-day summit in London next month entitled “Master Your Data with [the Latest, Most Powerful!] Computation,” that’s with my [ ] editorial.

Most people don’t recognise Wolfram as a key data science company. And yet over the last few years, we’ve built up a unique and integrated technology stack not only to offer the most powerful computations on data, but to optimise usability across the whole workflow and, crucially, to be a data science platform. In fact, expect announcements and key showcasing of new tech in London.

Now we have hosted the Wolfram Data Summit in the US for the last 5 years. The emphasis is a little different for our upcoming London summit, though related: “A high-level gathering of innovators in data science, creators of connected devices, and leaders of major data repositories.” In London, we’ll be focused on how new ideas can be deployed today in your organisation.

In the end, London will be a great follow-on, fill-out, and extension to many fields beyond democracy from my TEDx at the UK Parliament kick-off talk earlier this year, in which I addressed the question “Has more data led to better decisions and better democracy?”

Really hope we’ll see you there.

]]>Any space-themed submissions tweeted to us @wolframtap all day Thursday and Friday (12am PDT Thursday, October 9 through 11:59pm PDT Friday, October 10) will be eligible to win. To not waste needed code space, no hashtag is required with your original submission, but we encourage you to share your results by retweeting them with hashtag #wsw2014 and #tapspaceweek.

In addition to satellite path tracking and real-time analysis, the Wolfram Language gives you access to all sorts of entities, formulas, and other functionality for astronomical computation and coding—from supernovas, comets, and constellations to the Sun, deep space, and other galaxies.

Maybe you want to remix the planets and their colors, as Stephen Wolfram did in one of his first Tweet-a-Program tweets:

Or create a 3D mesh visualization of the space shuttle, like @Porco_Mozo:

Wonder what it looks like to map Mars (or other celestial bodies) in the Bonne projection?

`GeoGraphics[GeoModel->=[Mars],GeoProjection->"Bonne"]`

Or generate an icon of the current Moon phase?

`MoonPhase["Icon"]`

Tweet us and see! Regardless of whether you’ve got a meteoric idea or more nebulous intentions, this is truly a stellar opportunity to show off your coding skills.

We can’t wait to see what you create—we’re sure it will be outta this world!

]]>

*Particle and Particle Systems Characterization: Small-Angle Scattering (SAS) Applications*

by Wilfried Gille

Small-angle scattering (SAS) is the premier technique for the characterization of disordered nanoscale particle ensembles. SAS is produced by the particle as a whole and does not depend in any way on the internal crystal structure of the particle. Since the first applications of x-ray scattering in the 1930s, SAS has developed into a standard method in the field of materials science. SAS is a non-destructive method and can be directly applied for solid and liquid samples.

This book is geared to any scientist who might want to apply SAS to study tightly packed particle ensembles using elements of stochastic geometry. After completing the book, the reader should be able to demonstrate detailed knowledge of the application of SAS for the characterization of physical and chemical materials.

*Computer Algebra in Quantum Field Theory: Integration, Summation and Special Functions*

by Carsten Schneider and Johannes Blumlein

The book focuses on advanced computer algebra methods and special functions that have striking applications in the context of quantum field theory. It presents the state of the art and new methods for (infinite) multiple sums; multiple integrals, in particular Feynman integrals; and difference and differential equations in the format of survey articles. The presented techniques emerge from interdisciplinary fields: mathematics, computer science, and theoretical physics; the articles are written by mathematicians and physicists with the goal that both groups can learn from the other field, including most recent developments. Besides that, the collection of articles also serves as an up-to-date handbook of available algorithms/software that are commonly used or might be useful in the fields of mathematics, physics, or other sciences.

*Mathematics for Physical Science and Engineering*

by Frank E. Harris

*Mathematics for Physical Science and Engineering* is a complete text in mathematics for physical science that includes the use of symbolic computation to illustrate the mathematical concepts and enable the solution of a broader range of practical problems. Due to the increasing importance of symbolic computation and platforms such as *Mathematica*, the book begins by introducing that topic before delving into its core mathematical topics. Each of those subjects is described in principle and then applied through symbolic computing. The aim of the text is designed to clarify and optimize the efficiency of the student’s acquisition of mathematical understanding and skill and to provide students with a mathematical toolbox that will rapidly become of routine use in a scientific or engineering career.

*Multimedia Maths*

by Bieke Masselis and Ivo De Pauw

*Multimedia Maths* provides an accessible guide to understanding and using basic software applications including the golden section, co-ordinate systems, collision detection, vectors, and parameters.

Screen effects and image handling are explained at a complex level using a more detailed outline to build and develop on the basic transformations.

More advanced multimedia themes of quaternion rotation, fractal texture, Bézier curves, and B-splines are deconstructed and usefully linked to an interactive website that includes *Mathematica* files.

*A Math Primer for Engineers*

by Colin Walker Cryer

Mathematics and engineering are inevitably interrelated, and this interaction will steadily increase as the use of mathematical modeling grows. Although mathematicians and engineers often misunderstand one another, their basic approach is quite similar, as is the historical development of their respective disciplines. The purpose of this *Math Primer* is to provide a brief introduction to those parts of mathematics that are, or could be, useful in engineering, especially bioengineering. The aim is to summarize the ideas covered in each subject area without going into exhaustive detail. Formulas and equations have not been avoided, but every effort has been made to keep them simple in the hope of persuading readers that they are not only useful, but also accessible.

The wide range of topics covered includes introductory material such as numbers and sequences, geometry in two and three dimensions, linear algebra, and calculus. Building on these foundations, linear spaces, tensor analysis, and Fourier analysis are introduced. All these concepts are used to solve problems for ordinary and partial differential equations. Illustrative applications are taken from a variety of engineering disciplines, and the choice of a suitable model is considered from the point of view of both the mathematician and the engineer.

This book will be of interest to engineers and bioengineers looking for the mathematical means to help further their work, and it will offer readers a glimpse of many ideas that may spark their interest.

*Financial Hacking: Evaluate Risks, Price Derivatives, Structure Trades, and Build Your Intuition Quickly and Easily*

by Philip Maymin

This book teaches financial engineering in an innovative way by providing tools and a point of view to quickly and easily solve real, front-office problems. Projects and simulations are not just exercises in this book, but its true backbone. You will not only learn how to do state-of-the-art simulations and build exotic derivatives valuation models, you will also learn how to quickly make reasonable inferences based on incomplete information. This book will give you the expertise to make significant progress in understanding brand new derivatives given only a preliminary term sheet, thus making you valuable to banks, brokerage houses, trading floors, and hedge funds.

*Financial Hacking* is not about long, detailed mathematical proofs or brief summaries of conventional financial theories; it is about engineering-specific, useable answers to imprecise, but important questions. It is an essential book both for students and for practitioners of financial engineering.

MBAs in finance learn case-method and standard finance mainly by talking. Mathematical finance students learn the elegance and beauty of formulas mainly by manipulating symbols. But financial engineers need to learn how to build useful tools, and the best way to do that is to actually build them in a test environment, with only hypothetical profits or losses at stake; this book gives graduate students and others who are looking to move closer to trading operations the opportunity to do just that.

*Introduction to Quantitative Methods for Financial Markets*

by Hansjorg Albrecher, Andreas Binder, Volkmar Lautscham, and Philipp Mayer

Swaps, futures, options, structured instruments—a wide range of derivative products is traded in today’s financial markets. Analyzing, pricing, and managing such products often requires fairly sophisticated quantitative tools and methods. This book serves as an introduction to financial mathematics with special emphasis on aspects relevant in practice. In addition to numerous illustrative examples, algorithmic implementations are demonstrated using *Mathematica* and the software package *UnRisk* (available for both students and teachers). The content is organized in 15 chapters that can be treated as independent modules.

In particular, the exposition is tailored for classroom use in a bachelor’s or master’s program course, as well as for practitioners who wish to further strengthen their quantitative background.

]]>We found no less than 10 Nobel Prize–winning physicists who personally registered copies of *Mathematica*. That’s at least one in every eight Physics laureates since 1980! And anecdotal evidence suggests that nearly every Nobel laureate uses *Mathematica* through their institution’s site license.

It’s not just in Physics that *Mathematica* has shone on the Nobel stage. We’ve also had winners in Chemistry and Economics. The case of Economics we’re talking about is none other than famed genius John Forbes Nash. Nash, who was the subject of the film *A Beautiful Mind* and won the Nobel Memorial Prize in Economic Sciences in 1994, has been among our best-known users.

So rest assured we will be watching all of this month’s 2014 winner announcements with interest…

]]>One potential cause of such a scenario is a flap system failure. Flaps are hinged devices located on the trailing edges of the wings, where their angular position can be adjusted to change the lift properties of the plane. For example, suitably adjusting the flap position can enable the plane to be flown at a lower speed while maintaining its lift, or allow it to be landed with a steeper angle of descent without any increase in speed. One of several resulting advantages is that the LDR becomes shorter. This makes me wonder: Could a small flap failure increase the LDR so much that the assigned runway is suddenly too short?

To answer such a question, you have to understand the effects that a failure on a component level have at a system level. How will the control system react to it? Can we somehow figure out how to detect it during a test procedure? Can we come up with a safety procedure to compensate for it, and what happens if the pilot or maintenance personnel for some reason fail to follow that procedure?

Together with my colleague, engineer Olle Isaksson, we thought we’d use Wolfram *SystemModeler* 4 and the newly released Wolfram Hydraulic library to simulate and analyze some potential failures that can occur in the flap system of a Cessna 441 Conquest II aircraft.

The desired angular position of the flaps on this Cessna aircraft is set manually by the pilot via the plane’s instrument panel. Which flap angle is preferable depends, among other factors, on which flight phase the plane is in, since that directly affects which flight characteristics are desired. For example, during takeoff, the flaps are extended to an angle of 10 degrees in order to provide extra lift force, and during landing, they’re extended to 30 degrees to increase both lift and drag force. These seemingly small adjustments to the flaps’ angular position allow for shorter runways, reduce the stress put on the aircraft, and give the pilot more time to react. For this particular aircraft, there are two additional positions: 0 degrees in mid-air and 20 degrees when approaching landing. Take a look at the video below for a short demonstration of how the flaps move.

The flap system of this Cessna aircraft is electrically operated and hydraulically actuated. This means that the flap system is controlled by electrical signals, but the actual movement of the flaps and landing gears is driven by a hydraulic system with pumps, valves, cylinders, and other useful components. The pilot controls the flap position through a flap selector switch located on the instrument panel. Changing the flap selector switch position sends out an electrical signal that, together with limit switches, energizes a bypass valve so that pressure builds up in the hydraulic power system.

In tandem with bypass valve energization, a solenoid of the flap control valve becomes energized, resulting in an open connection between the cylinder (flap actuator) and the pump and reservoir. The hydraulic cylinder is mechanically connected to the flaps, which consequently causes the flaps to extend or retract when the cylinder moves in response to changes in chamber pressure.

**The Model**

The Cessna flap system model, implemented in *SystemModeler*, consists of six customized components: a pilot, an electrical system, a power plant, a hydraulic power system, the flaps, and the landing gears.

As shown above, the Cessna model is hierarchical, with several sub levels. The pilot model receives signals from both the electrical subsystem and the flaps, for example, in the form of system pressure data or information about the current flap position. The powerPlant subsystem contains two engines that connect to pumps in the hydraulicPower model, which in turn provides pressurized fluid to the flaps and landingGear subsystems. To avoid a blog post longer than *Ulysses*, I’m going to leave the detailed exploration of the models up to a forthcoming post, where the modeling process will be described in more detail.

Now that you have a general sense of the model components and their interactions, let’s take some time to think about some potential failures. Despite the risk of aggravating my slight fear of flying, I took a look at some accident reports for different Cessna aircraft. This revealed that failing limit switches, hydraulic leakages, and mechanical failures are examples of flap failures that affect the aircraft at a system level. So let’s include the following scenarios in the failure analysis:

1. A pipe in the flap subsystem is leaking.

2. The mechanical rod that connects the flap to the cylinder is broken.

3. An electrical failure in the flap control valve occurs in mid-air.

Let’s first take a look at the nominal scenario where everything works as it should, and the pilot can enjoy the perks of having a fully functioning flap system. The pilot moves the flap selector switch to positions 10° -> 20° -> 30° -> 0°, which corresponds to takeoff -> approach -> landing -> up. Note that this is quite an odd combination of flap commands to use in real life within a time span of 20 seconds, so it’s just a means of studying the system. It can for example be seen as a test run to see if the flaps are working properly.

First load the *WSMLink* and define the model.

My colleague Olle conveniently included different failure modes in several components in the Cessna model, so in order to investigate the effects of, for example, a pin-short in a solenoid, I simply have to change the failure mode parameter of a solenoid to pin-short, and then simulate the model.

In the nominal case, I want to make sure that the relevant failure parameters are set to 0, which means that the components are fully functioning. Since the failure modes are structural parameters, I need to use `WSMSetValues` instead of `WSMParameterValues`.

Which angles do the flaps actually take on compared to those commanded by the pilot in the nominal case?

As can be seen, the angular position of the flaps follows the commands given by the pilot, with some delay due to the time it takes for the flaps to extend or retract.

Let’s also take a look at the pressure development in the hydraulic relief valve, which corresponds to the pressure supplied to the flaps. Another interesting aspect, especially for electrical failures, is the electrical signal that commands the flaps to extend.

In the plots above, we can see how the pressure peaks correspond to the retraction and extension of the flaps, and how the electrical signal peaks when an extend flap command is issued from the pilot.

Now let’s examine the other scenarios and see how they compare to the nominal scenario.

**Scenario: Leaking Pipe**

In this failure scenario, the flaps have the same initial position as in the nominal case, but there is a leaking pipe in the flap subsystem. The leakage is injected by changing the value of parameter fm for the pipe in question from 0 to 2.

The figures show a simulation of the system with a pipe leakage: to the left, the commanded flap angle and the actual flap angle; to the right, the pressure development in the hydraulic relief valve in subsystem hydraulicPower.

We can see that the leakage reduces system pressure, which in turn causes a reduction in cylinder force. The reduction leads to a slower flap movement, which, seen from a system perspective, curtails the response time. Such a scenario could potentially be dangerous if the pilot is in a situation where the flaps have to be moved quickly, for example, if the plane approaches the runway too fast or at a wrong angle.

**Scenario: A Broken Rod**

As previously mentioned, the flap subsystem contains a hydraulic cylinder that drives the movement of the flaps. In this scenario, let’s investigate what happens if the rod connected to the flaps is broken, which in the model means that no force can be transferred between the two ends of the rod.

In the two bottom plots, we can see that there is a pressure buildup in the system, and the electrical signal behaves as expected. Despite this, the flaps remain in the up position. Since the rod is broken, the cylinder cannot transfer any force at all to move the flaps (see upper right plot), independent of the flap switch command. In this case, the seemingly small component failure would actually lead to a longer LDR.

**Scenario: Mid-Air Electrical Failure**

Sometimes failures aren’t discovered until the plane is already in the air, and in such situations, it is even more important to be prepared and have safety procedures that can remedy any problems that might occur. Let’s for example explore the scenario when there is a mid-air electrical failure. The pilot failed to test the flaps before takeoff, and so the retraction command is first used in mid-air. The electrical failure occurs in the flap control valve where the up-solenoid has a pin-short. The shorted solenoid trips the circuit breaker in mid-air, causing the pilot to lose control over the flaps.

From the pilot’s point of view, the failure isn’t noticeable until he or she tries to retract the flaps from 10 to 0 degrees, since the extend function is still initially functional. However, the second the pilot tries to move the flaps back up, the short circuit to ground is no longer isolated from the circuit breaker, and all control over the flaps is lost with the unpleasant side effect of the plane suddenly needing a longer runway. Seems like a pretty bad position to be in, right? Actually, it doesn’t necessarily have to be, if we can use our modeling expertise to model and test a safety procedure that might help the situation.

**Scenario: Mid-Air Electrical Failure with a Safety Procedure**

It’s possible to use the Cessna model to come up with a safety procedure that makes it possible to land the plane safely despite the mid-air electrical failure. Such a procedure could, for instance, be to move the switch to landing and then reset the circuit breaker. When reset, it should be possible to directly move the flaps to landing position and land safely, even though the retract function is still malfunctioning. So let’s see if this maneuver does the trick.

The figures show a simulation of the system with a mid-air electrical failure where the shorted solenoid triggers an emergency flap extension.

The shorted solenoid trips the circuit breaker in mid-air, causing the pilot to lose control over the flaps. The pilot then puts the switch in landing position, resets the circuit breaker, and manages to extend the flaps.

**What’s the Conclusion?**

So, what about my original question: Could a flap failure increase the LDR so much that the assigned runway becomes too short?

Judging from the failure analysis just performed, it does seem like a plausible scenario. If the increase in the LDR resulting from a flap failure (for example, the mid-air electrical failure discussed above) exceeds the runway margin, then that could potentially happen. However, the model has not been created in cooperation with Cessna, and assumptions have been made regarding, for example, the electrical design and parameter values. In other words, it’s not possible to guarantee that all aspects of the model are 100% accurate or complete. Still, it shows the potential of using modeling as a means of exploring different failure scenarios, how faults can be detected, and how to design safety procedures.

I used Wolfram *SystemModeler* to analyze faults after a particular sequence of commands, something that could be done during a test procedure, for example. Using the same principles, it’s possible to use *SystemModeler* to perform fault-code coverage analysis for systems with diagnostic trouble codes. I also tested a proposed safety procedure, and seeing how that interacts and triggers different responses in the system as a whole, such tests have the potential to lead to a better understanding of the human-machine interaction.

If you want to try out some failure modeling yourself, or just get a feel for the tools that I have used in this blog, trial versions of both *SystemModeler* and *Mathematica* and available for download online. Also the Wolfram Hydraulic library, along with several other libraries from other domains, can be explored and downloaded from Wolfram’s brand new *SystemModeler* Library Store.

A dozen Wolfram experts and *Mathematica *developers came together at our headquarters—both in person and remotely via online connections—to take turns showing off new advances in usability, algorithmic functionality, and integration with the Wolfram Cloud. Presenters participated in a live Q&A with the online audience, and in turn were able to hear from *Mathematica* users and enthusiasts.

All presentations were recorded; videos of individual talks, complete with presentation notebooks, as well as the full event are now available.

]]>Compose a tweet-length Wolfram Language program, and tweet it to @WolframTaP. Our Twitter bot will run your program in the Wolfram Cloud and tweet back the result.

One can do a lot with Wolfram Language programs that fit in a tweet. Like here’s a 78-character program that generates a color cube made of spheres:

It’s easy to make interesting patterns:

Here’s a 44-character program that seems to express itself like an executable poem:

Going even shorter, here’s a little “fractal hack”, in just 36 characters:

Putting in some math makes it easy to get all sorts of elaborate structures and patterns:

You don’t have to make pictures. Here, for instance, are the first 1000 digits of π, sized according to their magnitudes (notice that run of 9s!):

The Wolfram Language not only knows how to compute π, as well as a zillion other algorithms; it also has a huge amount of built-in knowledge about the real world. So right in the language, you can talk about movies or countries or chemicals or whatever. And here’s a 78-character program that makes a collage of the flags of Europe, sized according to country population:

We can make this even shorter if we use some free-form natural language in the program. In a typical Wolfram notebook interface, you do this using , but in Tweet-a-Program, you can do it just using =[...]:

The Wolfram Language knows a lot about geography. Here’s a program that makes a “powers of 10” sequence of disks, centered on the Eiffel Tower:

There are many, many kinds of real-world knowledge built into the Wolfram Language, including some pretty obscure ones. Here’s a map of all the shipwrecks it knows in the Atlantic:

The Wolfram Language deals with images too. Here’s a program that gets images of the planets, then randomly scrambles their colors to give them a more exotic look:

Here’s an image of me, repeatedly edge-detected:

Or, for something more “pop culture” (and ready for image analysis etc.), here’s an array of random movie posters:

The Wolfram Language does really well with words and text too. Like here’s a program that generates an “infographic” showing the relative frequencies of first letters for words in English and in Spanish:

And here—just fitting in a tweet—is a program that computes a smoothed estimate of the frequencies of “Alice” and “Queen” going through the text of *Alice in Wonderland*:

Networks are good fodder for Tweet-a-Program too. Like here’s a program that generates a sequence of networks:

And here—just below the tweet length limit—is a program that generates a random cloud of polyhedra:

What’s the shortest “interesting program” in the Wolfram Language?

In some languages, it might be a “quine”—a program that outputs its own code. But in the Wolfram Language, quines are completely trivial. Since everything is symbolic, all it takes to make a quine is a single character:

Using the built-in knowledge in the Wolfram Language, you can make some very short programs with interesting output. Like here’s a 15-character program that generates an image from built-in data about knots:

Some short programs are very easy to understand:

It’s fun to make short “mystery” programs. What’s this one doing?

Or this one?

Or, much more challengingly, this one:

I’ve actually spent many years of my life studying short programs and what they do—and building up a whole science of the computational universe, described in my big book *A New Kind of Science*. It all started more than three decades ago—with a computer experiment that I can now do with just a single tweet:

My all-time favorite discovery is tweetable too:

If you go out searching in the computational universe, it’s easy to find all sorts of amazing things:

An ultimate question is whether somewhere out there in the computational universe there is a program that represents our whole physical universe. And is that program short enough to be tweetable in the Wolfram Language?

But regardless of this, we already know that the Wolfram Language lets us write amazing tweetable programs about an incredible diversity of things. It’s taken more than a quarter of a century to build the huge tower of knowledge and automation that’s now in the Wolfram Language. But this richness is what makes it possible to express so much in the space of a tweet.

In the past, only ordinary human languages were rich enough to be meaningfully used for tweeting. But what’s exciting now is that it seems like the Wolfram Language has passed a kind of threshold of general expressiveness that lets it, too, be meaningfully tweetable. For like ordinary human languages, it can talk about all sorts of things, and represent all sorts of ideas. But there’s also something else about it: unlike ordinary human languages, everything in it always has a precisely defined meaning—and what you write is not just readable, but also runnable.

Tweets in an ordinary human language are (presumably) intended to have some effect on the mind of whoever reads them. But the effect may be different on different minds, and it’s usually hard to know exactly what it is. But tweets in the Wolfram Language have a well-defined effect—which you see when they’re run.

It’s interesting to compare the Wolfram Language to ordinary human languages. An ordinary language, like English, has a few tens of thousands of reasonably common “built-in” words, excluding proper names etc. The Wolfram Language has about 5000 built-in named objects, excluding constructs like entities specified by proper names.

And one thing that’s important about the Wolfram Language—that it shares with ordinary human languages—is that it’s not only writable by humans, but also readable by them. There’s vocabulary to acquire, and there are a few principles to learn—but it doesn’t take long before, as a human, one can start to understand typical Wolfram Language programs.

Sometimes it’s fairly easy to give at least a rough translation (or “explanation”) of a Wolfram Language program in ordinary human language. But it’s very common for a Wolfram Language program to express something that’s quite difficult to communicate—at least at all succinctly—in ordinary human language. And inevitably this means that there are things that are easy to think about in the Wolfram Language, but difficult to think about in ordinary human language.

Just like with an ordinary language, there are language arts for the Wolfram Language. There’s reading and comprehension. And there’s writing and composition. Always with lots of ways to express something, but now with a precise notion of correctness, as well as all sorts of measures like speed of execution.

And like with ordinary human language, there’s also the matter of elegance. One can look at both meaning and presentation. And one can think of distilling the essence of things to create a kind of “code poetry”.

When I first came up with Tweet-a-Program it seemed mostly like a neat hack. But what I’ve realized is that it’s actually a window into a new kind of expression—and a form of communication that humans and computers can share.

Of course, it’s also intended to be fun. And certainly for me there’s great satisfaction in creating a tiny, elegant gem of a program that produces something amazing.

And now I’m excited to see what everyone will do with it. What kinds of things will be created? What popular “code postcards” will there be? Who will be inspired to code? What puzzles will be posed and solved? What competitions will be defined and won? And what great code artists and code poets will emerge?

Now that we have tweetable programs, let’s go find what’s possible…

*To develop and test programs for Tweet-a-Program, you can log in free to the Wolfram Programming Cloud, or use any other Wolfram Language system, on the desktop or in the cloud. Check out some details here.*

In the past, using *Mathematica* has always involved first installing software on your computer. But as of today that’s no longer true. Instead, all you have to do is point a web browser at *Mathematica* Online, then log in, and immediately you can start to use *Mathematica*—with zero configuration.

Here’s what it looks like:

It’s a notebook interface, just like on the desktop. You interactively build up a computable document, mixing text, code, graphics, and so on—with inputs you can immediately run, hierarchies of cells, and even things like Manipulate. It’s taken a lot of effort, but we’ve been able to implement almost all the major features of the standard *Mathematica* notebook interface purely in a web browser—extending CDF (Computable Document Format) to the cloud.

There are some tradeoffs of course. For example, Manipulate can’t be as zippy in the cloud as it is on the desktop, because it has to run across the network. But because its Cloud CDF interface is running directly in the web browser, it can immediately be embedded in any web page, without any plugin, like right here:

Another huge feature of *Mathematica* Online is that because your files are stored in the cloud, you can immediately access them from anywhere. You can also easily collaborate: all you have to do is set permissions on the files so your collaborators can access them. Or, for example, in a class, a professor can create notebooks in the cloud that are set so each student gets their own active copy to work with—that they can then email or share back to the professor.

And since *Mathematica* Online runs purely through a web browser, it immediately works on mobile devices too. Even better, there’s soon going to be a Wolfram Cloud app that provides a native interface to *Mathematica* Online, both on tablets like the iPad, and on phones:

There are lots of great things about *Mathematica* Online. There are also lots of great things about traditional desktop *Mathematica*. And I, for one, expect routinely to use both of them.

They fit together really well. Because from *Mathematica* Online there’s a single button that “peels off” a notebook to run on the desktop. And within desktop *Mathematica*, you can seamlessly access notebooks and other files that are stored in the cloud.

If you have desktop *Mathematica* installed on your machine, by all means use it. But get *Mathematica* Online too (which is easy to do—through Premier Service Plus for individuals, or a site license add-on). And then use the Wolfram Cloud to store your files, so you can access and compute with them from anywhere with *Mathematica* Online. And so you can also immediately share them with anyone you want.

By the way, when you run notebooks in the cloud, there are some extra web-related features you get—like being able to embed inside a notebook other web pages, or videos, or actually absolutely any HTML code.

*Mathematica* Online is initially set up to run—and store content—in our main Wolfram Cloud. But it’ll soon also be possible to get a Wolfram Private Cloud—so you operate entirely in your own infrastructure, and for example let people in your organization access *Mathematica* Online without ever using the public web.

A few weeks ago we launched the Wolfram Programming Cloud—our very first full product based on the Wolfram Language, and Wolfram Cloud technology. *Mathematica* Online is our second product based on this technology stack.

The Wolfram Programming Cloud is focused on creating deployable cloud software. *Mathematica* Online is instead focused on providing a lightweight web-based version of the traditional *Mathematica* experience. Over the next few months, we’re going to be releasing a sequence of other products based on the same technology stack, including the Wolfram Discovery Platform (providing unlimited access to the Wolfram Knowledgebase for R&D) and the Wolfram Data Science Platform (providing a complete data-source-to-reports data science workflow).

One of my goals since the beginning of *Mathematica* more than a quarter century ago has been to make the system as widely accessible as possible. And it’s exciting today to be able to take another major new step in that direction—making *Mathematica* immediately accessible to anyone with a web browser.

There’ll be many applications. From allowing remote access for existing *Mathematica* users. To supporting mobile workers. To making it easy to administer *Mathematica* for project-based users, or on public-access computers. As well as providing a smooth new workflow for group collaboration and for digital classrooms.

But for me right now it’s just so neat to be able to see all the power of *Mathematica* immediately accessible through a plain old web browser—on a computer or even a phone.

And all you need do is go to the *Mathematica* Online website…