WOLFRAM

Recreational Computation

Computation & Analysis

You Can’t Have a Function Repository without Having Some Fun

While programming in the Wolfram Language, I am able to quickly and easily get results—one of the best aspects of writing code in a high-level language. The Wolfram Language is so easy to use that I have the freedom to pursue ideas on a whim, even if I know those ideas may not accomplish anything great or work toward a larger goal. In most cases, within a few minutes I figure out if the idea is a dead end. I also figure out if I am on the path to creating something useful or, better yet, fun.

Best of Blog

Generative Adversarial Networks (GANs) in the Wolfram Language

A noteworthy achievement of artificial intelligence, since it is driven by artificial neural networks under the label deep learning, is the ability to create artistic works to generate images, text and sounds. At the core of this breakthrough is a basic method to train neural networks that was introduced by Ian Goodfellow in 2014 and was called by Yann LeCun “the most interesting idea in the last 10 years in machine learning”: generative adversarial networks (GANs). A GAN is a way to train a generative network that produces realistic-looking fake samples out of a latent seed, which can be some arbitrary data or random numbers sampled from a simple distribution. Let’s look at how to do so with some of the new capabilities developed for Mathematica Version 12.1.

Computation & Analysis

Playing Cards with Alice and Bob: Using Secure Multi‑Party Computation and the Wolfram Language to Determine a Winner

While catching up with my old friends Alice and Bob on Zoom a few days ago, I became intrigued by their recent card game hobby—and how they used the Wolfram Language to settle an argument. To figure out who gets to go first at the start of the game, they take one suit (spades) from a full deck, and each draws a card. Then, the person with the highest card value wins. Because they are using only one suit, there can be no ties. Simple, right?

Computation & Analysis

Digital Vintage Sound Modeling Analog Synthesizers with the Wolfram Language and System Modeler

Explore the contents of this article with a free Wolfram System Modeler trial. Have you ever thought about making your own musical instruments? What about making mathematical models of your instruments? Whether you're someone looking for a cost-effective alternative, a minimalist with dreams of maximalist sounds or a Wolfram Language enthusiast curious about sound design, you can build a virtual version of a modular synthesizer using Wolfram System Modeler.

Education & Academic

Using Integer Optimization to Build and Solve Sudoku Games with the Wolfram Language 

Sudoku is a popular game that pushes the player’s analytical, mathematical and mental abilities. Solving sudoku problems has long been discussed on Wolfram Community, and there has been some fantastic code presented to solve sudoku problems. To add to that discussion, I will demonstrate several features that are new to Mathematica Version 12.1, including how this game can be solved as an integer optimization problem using the function LinearOptimization, as well as how you can generate new sudoku games.

Computation & Analysis

Crafty Computation: Cross-Stitch Patterns with the Wolfram Language

For many of us, programming represents leisure time just as much as work. Here at Wolfram, we have an incredibly creative group with a wide variety of hobbies, on the screen and off—including textile arts like cross-stitch. So when my colleague Jay suggested that I create a cross-stitch program using the Wolfram Language, I replied with “Challenge accepted!” Jay was looking for a simple way to generate a cross-stitch pattern from a photograph—or really any image—with the colors corresponding to the DMC thread ID numbers. We both knew that the image-processing capabilities of the Wolfram Language would make this an easy task, but incorporating the DMC thread catalog seemed a more interesting challenge. Armed with both computer and (virtual) thread, I set out on my quest to create the perfect cross-stitch pattern generator.

Announcements & Events

The Winners of the 2019 One-Liner Competition

This year's Wolfram Technology Conference was host to the eighth annual One-Liner Competition, an event where attendees show us the most astounding things they can accomplish with 128 or fewer characters of Wolfram Language code. Submissions included games, card tricks and yoga exercises, all implemented with less than one tweet's worth of the Wolfram Language.

Announcements & Events

Duking It Out in the Wolfram Language: A Breakdown of the 2019 Livecoding Championship

Two weeks ago, I had the pleasure of returning as a commentator for the fourth annual Livecoding Championship, a special event held during the 2019 Wolfram Technology Conference. We had such an incredible turnout this year, with 27 total participants and 14 earning at least one point! Conference attendees and Wolfram staff competed for the title of Livecoding Champion, with seven questions (plus one tiebreaker!) challenging their speed, agility and knowledge of the Wolfram Language. It was a high-spirited battle for first place, and while I had prepared “answer key” solutions in advance, I always look forward to the creativity and cleverness that competitors demonstrate in their wide range of approaches to each question.

By popular request, in addition to revisiting the questions, I’ll walk you through how competitors reached their solutions and earned their points, as a kind of “study guide” for next year’s aspiring champions. So hold on to your keyboards—we’re going in!

Announcements & Events

Live from the Wolfram Technology Conference 2019:
Opening Keynote, Developer Interviews and the Livecoding Championship

Today marks the start of our annual Wolfram Technology Conference. We’re looking forward to hearing about the latest innovations in computation from our Wolfram technology users! The conference is a great way to network with other users and find out what’s new at Wolfram and in our community. If you aren’t attending this year, you can still connect with the conference through our broadcast events.