Skip to main content

19 min read
Kirill Vasin

An Ultimate Guide for non-WLJS or non-WL users

The idea of programmatically generating slides and graphics for presentations, reports, or lecture notes is far from new. Today, you can do this using Python, HTML, JSX, Julia, and more. Most of these tools follow a similar concept鈥攃ombining declarative markup like Markdown and HTML. We鈥檒l follow a similar path but add support for dynamic elements, reusable components, and event bindings. Sounds complicated? Actually, the goal is to simplify.

鈿狅笍 Heads-up: This approach involves traditional text-based programming.

鈿狅笍 Warning: Lots of images ahead. It is about presentations 馃槃


8 min read
Kirill Vasin

using GeoData, surface plot, and a bunch of other beautiful stuff

Have you ever played Outer Wilds? The planets there are incredibly beautiful. This actually became the main motivation to create my own simple model of a planet, using real geographical elevation data and a bit of Wolfram Language magic.

One min read

A game running in the notebook? Ha?! 馃惡馃懢

I was playing recently too much of Nier:Automata and decided to recreate a hacking mode in WLJS Notebook & Wolfram Language

Sorry for not posting a source code, I will make a blog post later on it

One min read

Can you image Graphics聽to be that fast? 馃寠 No raster images was used

Each block is

Translate[{Opacity[life], RGBColor[life, 0, 1-life], Rectangle[{-1,-1}, {1,1}]}, t]

Please see FrontProxy in the documentation for more information.

4 min read
Kirill Vasin

A GPU is also a great tool for general-purpose computations. There are a few ways to couple it with Wolfram Language:

  • CUDALink
  • OpenCLLink
  • LibraryLink

The first option requires hardware from Nvidia, which is a massive drawback considering there are many other processors on the market capable of crunching numbers. The last option allows integrating any dynamic library written in C/Rust (probably there are other bindings as well) into our Kernel, but the amount of effort required to write a general-purpose GPU library and deal with cross-platform issues is quite cumbersome and defeats the whole purpose of using WL here.

We will go with the most cross-platform and hardware-agnostic solution: OpenCL 馃殔