<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="https://community.wolfram.com">
    <title>Community RSS Feed</title>
    <link>https://community.wolfram.com</link>
    <description>RSS Feed for Wolfram Community showing any discussions tagged with Mathematica sorted by most likes.</description>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/181759" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/122095" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3481794" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2267653" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2798101" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2253852" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/774416" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/271501" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/288532" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2504513" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1085633" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1931315" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/216113" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2774101" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1096129" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1185247" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2445356" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/229505" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2914219" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2103748" />
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/181759">
    <title>New Functions I would like to see in future Wolfram Language versions</title>
    <link>https://community.wolfram.com/groups/-/m/t/181759</link>
    <description>I was wondering, it would be interesting to try to use the community as a way to request new functions that could be incorporated into new versions of Wolfram Language, in a colaborative way. Sometimes users simply don&amp;#039;t have the whole/deeper system view, to understand that the requested function is or too specific, too broad or already implemented, but I believe that another times we can have a nice insights, that Wolfram Research people haven&amp;#039;t yet, or that do not have received much attention  yet.  To the idea is:&#xD;
&#xD;
[b]Post your&amp;#039;s requested Function as a answer to this question, and let&amp;#039;s upvotes show the more interesting ones![/b]&#xD;
&#xD;
Some rules&#xD;
1- One Post per function (or class of function), you can have more than one request.&#xD;
2- Exemplify your function use.</description>
    <dc:creator>Rodrigo Murta</dc:creator>
    <dc:date>2014-01-08T09:14:19Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/122095">
    <title>Dancing with friends and enemies: boids&amp;#039; swarm intelligence</title>
    <link>https://community.wolfram.com/groups/-/m/t/122095</link>
    <description>The latest way I have found to use my expensive math software for frivolous entertainment is this. Here&amp;#039;s is a way to describe it. 
[list]
[*]1000 dancers assume random positions on the dance-floor. 
[*]Each randomly chooses one &amp;#034;friend&amp;#034; and one &amp;#034;enemy&amp;#034;. 
[*]At each step every dancer 
[list]
[*]moves 0.5% closer to the centre of the floor
[*]then takes a large step towards their friend 
[*]and a small step away from their enemy. 
[/list]
[*]At random intervals one dancer re-chooses their friend and enemy
[/list]
Randomness is deliberately injected. Here is the dance...
[mcode]n = 1000; 
r := RandomInteger[{1, n}]; 
f := (#/(.01 + Sqrt[#.#])) &amp;amp; /@ (x[[#]] - x) &amp;amp;; 
s := With[{r1 = r}, p[[r1]] = r; q[[r1]] = r]; 
x = RandomReal[{-1, 1}, {n, 2}]; 
{p, q} = RandomInteger[{1, n}, {2, n}]; 
Graphics[{PointSize[0.007], Dynamic[If[r &amp;lt; 100, s]; 
Point[x = 0.995 x + 0.02 f[p] - 0.01 f[q]]]}, PlotRange -&amp;gt; 2][/mcode]
[img]/c/portal/getImageAttachment?filename=OPTfnlfrnds.gif&amp;amp;userId=11733[/img]

Thanks to Vitaliy for posting this on my behalf, complete with animations :-)

Background: I had read somewhere that  macro-scale behaviour of animal swarms (think of flocks of starlings or shoals of herring) is explained by each individual following very simple rules local to their vicinity, essentially 1) try to keep up and 2) try not to collide. I started trying to play with this idea in Mathematica, but it was rather slow to identify the nearest neighbours of each particle. So I wondered what would happen if each particle acted according to the locations of two other particles, regardless of their proximity. The rule was simply to move away from one and towards the other.

The contraction (x = 0.995 x) was added to prevent the particle cloud from dispersing towards infinity or drifting away from the origin. I tweaked the &amp;#034;towards&amp;#034; and &amp;#034;away&amp;#034; step sizes to strike a balance between the tendency to clump together and to spread apart (if you make the step sizes equal you get something more like a swarm of flies). With each particle&amp;#039;s attractor and repeller fixed, the system finds a sort of dynamic equilibrium, so to keep things changing I added a rule to periodically change the attractor and repeller for one of the particles. The final adjustment was to make the &amp;#034;force&amp;#034; drop towards zero for particles at very close range. This helps to stop the formation of very tight clumps, and also prevents a division-by-zero error when a particle chooses itself as its attractor or repeller.

The description of the system as a dance was an attempt to explain the swirling pattern on the screen without using mathematical language. I&amp;#039;d love to see what other &amp;#034;dances&amp;#034; can be created with other simple rules.</description>
    <dc:creator>Simon Woods</dc:creator>
    <dc:date>2013-09-11T18:31:12Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3481794">
    <title>In Memory of Michael Trott (1959-2025): Scientist, Mentor, Friend</title>
    <link>https://community.wolfram.com/groups/-/m/t/3481794</link>
    <description>![enter image description here][1]&#xD;
&#xD;
Michael Trott was more than a brilliant scientist, he was a mentor, a friend, and a truly unique human being. For those of us lucky enough to work closely with him, his absence leaves a deep void. He brought an irreplaceable blend of curiosity, creativity, and humility to everything he did. Our long meetings, where we&amp;#039;d dive into unconventional ideas in physics and find ways to implement them in Mathematica, often stretched past hours, but no one ever minded. With Michael, even the most abstract idea could spark a new direction, a novel prototype, or an unexplored corner of science.&#xD;
&#xD;
He didn&amp;#039;t just think outside the box, he rebuilt it entirely, quietly and kindly. His codes weren&amp;#039;t always optimized for performance, but they were original and beautiful. I have never seen anyone so professional in prototyping novel ideas computationally; and this was our joint passion for Mathematica, as we believed it is one of the best tool, if not the best, for this purpose.  One can find a few examples of Michael&amp;#039;s style of thinking in the [Wolfram Blog][2], [Wolfram Demonstration Project][3], or [Wolfram Community][4]. He was also the author of four seminal books: &amp;#034;[The Mathematica GuideBooks][5]&amp;#034; (four volumes).&#xD;
&#xD;
He had a deep grasp of the history and architecture of Mathematica, with a passion for physics, especially quantum theory, and a genius for applying technology in unexpected ways. Michael Trott joined Wolfram Research in 1994 and was a cornerstone of the company for over 30 years. As Chief Scientist of Wolfram|Alpha, his fingerprints are on thousands of algorithms and innovations, from computational art to physical constants, from parsing human input to building bridges between theoretical physics and computation. The [Wolfram Quantum Framework][6], as a small example, would not have been possible without his support and contributions.&#xD;
&#xD;
Michael was encyclopedic in knowledge, yet endearingly humble. He read hundreds of papers, built massive daily digests on LLMs, mentored researchers across physics, math, and engineering; and still worried whether he had anything &amp;#034;original&amp;#034; to offer before a scheduled talk at the University of Vienna (see the material he&amp;#039;d prepared for this talk from [this link][7]; we even had a dry-run together, to discuss the content repeatedly). His presence was magnetic. He showed up early to Zoom calls (Wolfram Research has many remote employees, including myself, even before COVID pandemic) and sparked thoughtful conversation before meetings began. He didn&amp;#039;t just build things but he shared them generously. He brought humanity to everything he touched. Whether discussing quantum fields or life under East Germany&amp;#039;s Stasi, he made space for your story too. He helped others grow, quietly and consistently, always leading by example.&#xD;
&#xD;
Toward the end, we spoke about the multiverse; you were certain we&amp;#039;d meet again. In those final days, lying in your hospital bed, we found ourselves deep in conversation about the quantum-to-classical transition and nonlinearities. Thank you, Michael, for everything. You showed so many of us what it truly means to be both a scientist and a human being.&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Screenshot2025-06-18at9.36.32%E2%80%AFPM.png&amp;amp;userId=1539902&#xD;
  [2]: https://blog.wolfram.com/author/michael-trott/&#xD;
  [3]: https://demonstrations.wolfram.com/authors/michael-trott&#xD;
  [4]: https://community.wolfram.com/web/mtrott&#xD;
  [5]: https://www.amazon.com/stores/author/B001ITTUVM/allbooks&#xD;
  [6]: https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/%5C%20QuantumFramework/&#xD;
  [7]: https://amoeba.wolfram.com/index.php/s/Jbrt4q6cYTN7rC7</description>
    <dc:creator>Mohammad Bahrami</dc:creator>
    <dc:date>2025-06-19T04:38:05Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2267653">
    <title>What was your first Mathematica version ?</title>
    <link>https://community.wolfram.com/groups/-/m/t/2267653</link>
    <description>*MODERATORS&amp;#039; NOTE: We will be displaying the collage of people&amp;#039;s images at the top of this discussion. Dear all, please, do post the images of Wolfram things dear to your memories here :-) Thank you, Daniel Carvalho, for a delightful question!*&#xD;
&#xD;
![enter image description here][1]&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
Today installing Mathematica 12.3 I notes that there are previous versions installed too in my Linux box:&#xD;
&#xD;
    daniel@home:/opt/Wolfram/Mathematica$ ls -l&#xD;
    total 28&#xD;
    drwxr-xr-x 7 root root 4096 nov 20  2014 10.0&#xD;
    drwxr-xr-x 7 root root 4096 ago 14  2016 11.0&#xD;
    drwxr-xr-x 7 root root 4096 abr 26  2017 11.1&#xD;
    drwxr-xr-x 7 root root 4096 jun 26  2020 12.1&#xD;
    drwxr-xr-x 7 root root 4096 jan 12 23:20 12.2&#xD;
    drwxr-xr-x 3 root root 4096 mai 13 13:23 12.3&#xD;
    drwxr-xr-x 7 root root 4096 ago 19  2013 9.0.1&#xD;
&#xD;
It is interesting to see that the older version is around 9 in 2013, and the years of installation for the other releases, according my folders.&#xD;
&#xD;
In fact my first version of Mathematica was 4.0 (1999), for calculus classes in college.&#xD;
&#xD;
In Computer Engineering that time we had 5 semesters of calculus classes, and just the last one we went to the lab to make some more interesting projects applying the theory to practical experiments.&#xD;
The basic calculus classes usually ware just whiteboard, pen and paper, book and exercises. &#xD;
A very traditional engineering college.&#xD;
&#xD;
It was interesting getting the last exercises from lists, the most complex cases, and have it solved immediately!!&#xD;
&#xD;
I can recall that version 6.0 was the most interesting for me, I have used it at master degree.&#xD;
Since version 6.0 I have been publishing lots of [Demonstrations][2] with the [Manipulate][3] function, it is really fun! It got my playing video game timing! :-)&#xD;
&#xD;
In my parents house I found this boxes with my old college stuff:  &#xD;
![enter image description here][4]&#xD;
&#xD;
I went to the Wolfram Summer School in [2007][5] while back in college for the Master in Electrical Engineering, and latter again in [2011][6] for a new research about [NKS][7] computational principles.&#xD;
&#xD;
Latter on I get certified, [Wolfram Certified Instructor][8]&#xD;
&#xD;
Since 2013 I have been organizing the Wofram conference in Brazil with [Mackenzie University][9] team and other friends, by my installations dates, I have used 9.0.1 at the first conference here.&#xD;
In 2021 and 2020 the conf is virtual for safety (remote):&#xD;
[https://www.wolfram.com/events/virtual-conference-br/2020/][10]&#xD;
&#xD;
And now I am very excited with 12.3!!&#xD;
&#xD;
The Mathematica versions history is available at: &#xD;
[https://www.wolfram.com/mathematica/quick-revision-history.html][11]&#xD;
&#xD;
What was your first Mathematica version??&#xD;
&#xD;
&#xD;
 [at0]: https://community.wolfram.com/web/danielscarvalho&#xD;
&#xD;
&#xD;
  [Original]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Eew570TWkBEyea5.jpeg&amp;amp;userId=1518234&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=colmv.jpeg&amp;amp;userId=11733&#xD;
  [2]: https://demonstrations.wolfram.com/author.html?author=Daniel%20de%20Souza%20Carvalho&#xD;
  [3]: https://reference.wolfram.com/language/ref/Manipulate.html&#xD;
  [4]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Eew570TWkBEyea5.jpeg&amp;amp;userId=20103&#xD;
  [5]: https://education.wolfram.com/summer-school/alumni/2007/carvalho/&#xD;
  [6]: https://education.wolfram.com/summer-school/alumni/2011/carvalho/&#xD;
  [7]: https://www.wolframscience.com/&#xD;
  [8]: https://www.wolfram.com/wolfram-u/instructors/carvalho.html&#xD;
  [9]: https://www.mackenzie.br/&#xD;
  [10]: https://www.wolfram.com/events/virtual-conference-br/2020/&#xD;
  [11]: https://www.wolfram.com/mathematica/quick-revision-history.html</description>
    <dc:creator>Daniel Carvalho</dc:creator>
    <dc:date>2021-05-13T16:49:32Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2798101">
    <title>[WSG23] Daily Study Group: Wolfram Language Certification Prep</title>
    <link>https://community.wolfram.com/groups/-/m/t/2798101</link>
    <description>Join Wolfram U instructors and a cohort of fellow learners in a Daily Study Group series to prepare for the [Wolfram Language Level 1 Certification][1]. We will review various topics that are included in the exam to test your proficiency in Wolfram Language programming.&#xD;
&#xD;
Daily Study Group dates: Feb 13th-17th, 11am-12pm CT (5-6pm GMT)&#xD;
&#xD;
**[REGISTER HERE][2]**&#xD;
![enter image description here][3]&#xD;
&#xD;
Whether you are a new Wolfram Language user or an expert, join our study group, share your questions and feedback and, finally, take the exam to earn your certification.&#xD;
&#xD;
Don&amp;#039;t forget to share your certificate on social media and tag us #WolframCertified  &#xD;
&#xD;
&#xD;
  [1]: https://www.wolfram.com/wolfram-u/certification/level1/language/&#xD;
  [2]: https://www.bigmarker.com/series/daily-study-group-wolfram-language-certification-prep-wsg35/series_details?utm_bmcr_source=community&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=wolframu-banner.png&amp;amp;userId=130003</description>
    <dc:creator>Abrita Chakravarty</dc:creator>
    <dc:date>2023-01-20T20:14:34Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2253852">
    <title>What is Mathematica For?</title>
    <link>https://community.wolfram.com/groups/-/m/t/2253852</link>
    <description>I realize that I am possibly the only Mathematica user to suffer from existential angst for the product, but still, its worth pausing to ask the question, what is Mathematica for?  Meaning, what is its purpose?&#xD;
&#xD;
But for those of you pragmatists tempted to roll your eyes and just get on with using it, let me motivate the question with a chart:&#xD;
&#xD;
![enter image description here][1]&#xD;
&#xD;
You don&amp;#039;t need a model to figure out the long term trend in that time series.  And someone, somewhere, in WR needs to be asking the question I am posing in this post, if they are seriously hoping to check that trend and reverse it.&#xD;
&#xD;
Now, let&amp;#039;s be fair here.  Firstly this is not just a Mathematica issue.  For example, here&amp;#039;s the comparable chart for Matlab:&#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
So I am not &amp;#034;picking on&amp;#034; Mathematica. Its a general problem for mathematical programming languages.  Or perhaps I should say, more accurately, its a challenge for proprietary mathematical programming languages:&#xD;
![enter image description here][3]&#xD;
&#xD;
Now this &amp;#034;analysis&amp;#034; is of course over-simplistic.  It could be, for example, that the downward trend in Mathematica interest is a reflection of a decision by WR to increase prices over time, to maximize profits, i.e. it could conceivably be a *good* thing.  But I rather suspect otherwise and instead tend to believe that Mathematica is losing influence and relevance, regardless of whatever I may think of the product.&#xD;
&#xD;
Another response might be: &amp;#034;Of course we are losing market share to license-free, direct competitor products.  What&amp;#039;s your point?&amp;#034;.  To which, I suppose, the answer might be:  &amp;#034;Are you quite sure that is inevitable?  Are there not examples of for-profit products that are so good they are able to maintain market share in the face of cost-free alternatives?&amp;#034;.&#xD;
&#xD;
The answer to that question is, of course, yes.  But in order to maintain your competitive position you have to be crystal clear in your understanding of what the value proposition is, and why customers will (continue to) pay for your product.  Which brings me to the subject of this post:  what is Mathematica for?  Because unless can answer that question, you can&amp;#039;t answer the earlier one.&#xD;
&#xD;
Now I have a theory that the generally held view in WR is that Mathematica is for any kind of programming task you can conceive of.  It&amp;#039;s a general purpose tool, limited in its capabilities only by your imagination.  And at this point we could now queue up a 15 minute informercial featuring examples of applications from Astronomy to Zoology.  &#xD;
&#xD;
But just because you *can* do something in Mathematica doesn&amp;#039;t mean you should: there are often better alternatives.  Mathematica has developed into something like a Swiss Army knife, a general purpose tool you can use for almost any purpose.  But, often times what you need is a tool with a specific purpose, like a screwdriver, which will make it much easier to complete the task you have in mind.&#xD;
&#xD;
Let&amp;#039;s take a simple example:  spreadsheets.  I have seen several attempts to get Mathematica to do the kind of thing that Excel can do effortlessly.  And the question I always end up asking myself is: &amp;#034;why on God&amp;#039;s green earth would anyone in their right mind try to use Mathematica for a task like that?&amp;#034;.  What is trivial to accomplish in a few seconds or minutes in Excel, typically takes hours of jumping through hoops with Mathematica to achieve a result that is almost always inferior. It&amp;#039;s like trying to navigate a freeway in a spaceship, rather than a motor car.  Sure, you can do it, buy why??&#xD;
&#xD;
Another no-no is trying to develop stand-alone software applications in Mathematica.  It&amp;#039;s extremely hard to do - typically much tougher then using a language designed for that purpose.&#xD;
&#xD;
On the other hand, there are some things that Mathematica excels at, such as:&#xD;
&#xD;
- Mathematics/symbolic logic/symbolic manipulation:  superb. Best of breed.&#xD;
- Graphics (including animation) ditto&#xD;
- Documentation. Also superb.  Now as good at Matlab, possibly even superior.&#xD;
&#xD;
After that, you could pick a bunch of different application areas in which Mathematica is great. But best of breed? I dont know.&#xD;
&#xD;
Let&amp;#039;s take an area I know a little about: time series analysis.  prior to 2010, Mathematica was truly awful at handling time series.  Basically it didn&amp;#039;t. Gradually, over subsequent releases, Mathematica has made enormous strides in this area to the point where it is truly magnificent.  For which someone at WL deserves (and I hope has received), several promotions.  But despite this, Mathematica is still not best of breed in this area.  Why?  Because, unaccountably, it is still missing several vital elements of functionality such as Granger causality/ Cointegration and its implementation of important functionality like the Kalman Filter is horribly unintuitive.&#xD;
&#xD;
This shows two things:  (i) it is possible for WR to make Mathematica outstanding in almost any area it chooses to.  it&amp;#039;s just a question of focus.  And (ii) to become best of breed, you need to finish the job!  By which I mean, provide something close to 99% of the functionality that a professional practitioner in that area would expect to have available.  if it chose to, WR could accomplish that in the time series area in a single release, I would guess.&#xD;
&#xD;
The problem, I am suggesting, is that in trying to make Mathematica  a product that is &amp;#034;all things to all men&amp;#034;, it fails to achieve the status of being indispensable to practitioners in a more limited subset of subject areas.&#xD;
&#xD;
 Ok let&amp;#039;s go with this conjecture for a moment.  Let&amp;#039;s wave a magic wand and imagine that we can change Stephen Wolfram&amp;#039;s vision about his flagship product, which he has sweated blood over for the last 20-30 years (in other words, this is never going to happen - but its still fun to play the game).&#xD;
&#xD;
What core capabilities would you have WR focus on with the aim of making Mathematica an indispensable product in that area?&#xD;
&#xD;
Here are my choices:&#xD;
&#xD;
(i) Time series &amp;amp; econometrics.  Mathematica is so close: just finish the job - it&amp;#039;s a no-brainer!&#xD;
&#xD;
(ii) Machine learning.  This also means making sure that the GPU capability works as it should, first time and every time.  Mathematica still has a way to go here and its a huge area.  But I&amp;#039;m sure WR could do it.&#xD;
&#xD;
(iii). Meta-Programming.  This one is a BIG stretch.  But it just happens that WL may have a huge potential competitive advantage, because the language is itself *computational*.  in other words, the building blocks of the language can themselves be manipulated, which is exactly what you need for meta-programming.  Try doing that in Python!&#xD;
&#xD;
On this subject I would say that the starting point would be to create WL functionality capable of generating a single line of WL code that is sufficiently complex and interesting to win the Wolfram One-Liner competition.  I realize that&amp;#039;s a huge challenge and its not just about the difficulty of navigating the terrain of the Wolfram language.  It also involves thinking about what &amp;#034;complex&amp;#034; and &amp;#034;interesting&amp;#034; mean, in this context.  &#xD;
&#xD;
Think of this as a Turing test, for Metaprogramming capability. Once it&amp;#039;s passed, it would open up a floodgate of possibilities, both for WL aficionados but also, critically, for those who don&amp;#039;t program in WL, or indeed in any language at all.   For reference, check out whats going on in the world of &amp;#034;no -code&amp;#034; application environments.&#xD;
&#xD;
&#xD;
&#xD;
&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=GoogleTrendsMathematica.png&amp;amp;userId=773999&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=GoogleTrendsMatlab.png&amp;amp;userId=773999&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=GoogletrendsPython.png&amp;amp;userId=773999</description>
    <dc:creator>Jonathan Kinlay</dc:creator>
    <dc:date>2021-04-26T16:09:01Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/774416">
    <title>What are some real-world applications of Mathematica?</title>
    <link>https://community.wolfram.com/groups/-/m/t/774416</link>
    <description>I originally posted this on Stack Exchange, where it was suggested it would more appropriately be posted here.  The only &amp;#034;real-world&amp;#034; application that meets the specified criteria offered so far (twice) has been Wolfram Alpha (I am not entirely sure that it meets the second criterion - would you choose to develop WA in WL, if you didn&amp;#039;t have a bunch of WL experts and a WL development platform at your disposal?).  In any event, I am interested in hearing about other real-life applications....&#xD;
&#xD;
I have a theory, which I am in the process of writing about in a blog post, that other than in applications in mathematics (symbolic logic), Mathematica&amp;#039;s primary usefulness is in encouraging a kind of intellectual dilettantism. (Of course, one man&amp;#039;s dilettantism is another man&amp;#039;s New Kind of Science: i.e. the speculative endeavors of a fertile, creative intellect might readily be mistaken for actual (scientific) achievement by less agile minds.)&#xD;
&#xD;
I don&amp;#039;t want this conjecture to be true: I&amp;#039;m as much a buyer of the hype around Mathematica as the next man. But I have noticed that, in practice, Mathematica somehow fails to live up to its apparently unlimited potential for encapsulating creative thought-product across an almost unlimited span of human intellectual endeavor. In my own work in finance, for instance, it has generally proved much less useful than other products such as Matlab. And, in general, when I look at the examples cited by Wolfram in its &amp;#034;customer stories&amp;#034;, my reaction to many of them is: &amp;#034;Sure, you can use Mathematica to do that. But why would you, when there are much better alternatives available?&amp;#034;. To take one such customer story from the field of 3D CAD, I don&amp;#039;t understand why anyone would *prefer* to use Mathematica for such a task, rather than a specialist product like Solidworks.&#xD;
&#xD;
I am aware of applications where the use of Mathematica is fully justified. In my own work, I have used Mathematica to price complex derivatives products, a field in which it excels. Likewise, I am somewhat familiar with Phil Zecker&amp;#039;s work at EQA Partners, where he produced an outstanding risk management solution using Mathematica. In both these cases, however, there is no standard, specialized alternative offering in the field of risk management, as there are, for example, in engineering, CAD, app design, or music. In these areas, it seems to me, Mathematica is like a Swiss Army Knife: sure you can use it to dabble in almost anything; but I have screwdrivers, knives and corkscrews that do a better job for their specific purpose.&#xD;
&#xD;
In any event I am looking for counter-examples of real-world applications to refute my hypothesis about Mathematica. By &amp;#034;real-world&amp;#034; I mean specifically applications in which:&#xD;
&#xD;
(i) money changed hands (e.g. a commercial product was sold, or consulting fee earned) ; and&#xD;
&#xD;
(ii) an alternative solution was considered and Mathematica preferred for specific reasons (&amp;#034;it was the only software we could afford or that was available to tackle the job&amp;#034;, is not a valid reason to qualify the application as real-world, according to this definition)</description>
    <dc:creator>Jonathan Kinlay</dc:creator>
    <dc:date>2016-01-17T16:05:55Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/271501">
    <title>Rosetta Code Challenge &amp;amp; Wolfram Language</title>
    <link>https://community.wolfram.com/groups/-/m/t/271501</link>
    <description>Following the very nice blogpost on the: [Wolfram Blog][1] about Rosetta code, it would be very nice if we could expand---as a community---the number of solved tasks on the Rosetta code website for the [Mathematica Language][2]. 

The unsolved tasks for Mathematica can be found [here][3]. The number of tasks remaining is:

 - 145 (june 4th)
 - 141 (june 5th)
 - 133 (june 6th)
 - 130 (june 7th)
 - 128 (june 14th)
 - 125 (june 17th)
 - 120 (june 21st)
 - 119 (july 4th)

Some of the tasks are very easy to implement; others are tricky and very hard (if not impossible). 

Just now, I solved a couple of problems:

 - [ABC Problem][4]
 - [Longest increasing subsequence][5]
 - [Ludic numbers][6]
 - [Maximum triangle path sum][7]
 - [Zebra Puzzle][8]

I hope that we can solve some more problems and quickly reduce this number. Furthermore, I hope to start a lively discussion of problem solving and algorithm implementation. As you know, the Wolfram language is very broad and supports many paradigms, so many tasks can be implemented in multiple ways. You should strive to find the most elegant solution (short code, fast run-time). 

Some problems that should not be too hard to solve are:

 - [Parse an IP Address][9]
 - [Rep-string][10] SOLVED! Submitted.
 - [Nauticall bell][11]
 - [Word wrap][12] SOLVED! Submitted. (Thanks Marcus Risanger!)
 - [Fibonacci word fractal][13] SOLVED! Submitted. (Thanks Antonio Marquez-Raygoza!)

The tasks that are not implemented can be found using:

    url=&amp;#034;http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_Mathematica&amp;#034;;
    html=Import[url,&amp;#034;XMLObject&amp;#034;];
    pos=Position[html,XMLElement[&amp;#034;div&amp;#034;,{&amp;#034;class&amp;#034;-&amp;gt;&amp;#034;mw-content-ltr&amp;#034;,&amp;#034;dir&amp;#034;-&amp;gt;&amp;#034;ltr&amp;#034;,&amp;#034;lang&amp;#034;-&amp;gt;&amp;#034;en&amp;#034;},___]];
    pos=First[pos];
    data=Extract[html,pos];
    pos=Position[data,XMLElement[&amp;#034;li&amp;#034;,{},{XMLElement[&amp;#034;a&amp;#034;,{&amp;#034;shape&amp;#034;-&amp;gt;&amp;#034;rect&amp;#034;,&amp;#034;href&amp;#034;-&amp;gt;_,&amp;#034;title&amp;#034;-&amp;gt;x_},{x_}]}]];
    data=Extract[data,pos];
    data=data[[All,-1,-1,2]];
    data={&amp;#034;title&amp;#034;,&amp;#034;href&amp;#034;}/.#&amp;amp;/@%;
    data[[All,2]]=&amp;#034;http://rosettacode.org&amp;#034;&amp;lt;&amp;gt;#&amp;amp;/@data[[All,2]];
    data=Hyperlink@@@data;
    data//Length
    data//Column

Happy solving!

P.S. If you solved a problem after reading this thread, please leave a comment :)


  [1]: http://blog.wolfram.com/2014/06/04/how-the-wolfram-language-measures-up/
  [2]: http://rosettacode.org/wiki/Category:Mathematica
  [3]: http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_Mathematica
  [4]: http://rosettacode.org/wiki/ABC_Problem
  [5]: http://rosettacode.org/wiki/Longest_increasing_subsequence
  [6]: http://rosettacode.org/wiki/Ludic_numbers
  [7]: http://rosettacode.org/wiki/Maximum_triangle_path_sum
  [8]: http://rosettacode.org/wiki/Zebra_puzzle
  [9]: http://rosettacode.org/wiki/Parse_an_IP_Address
  [10]: http://rosettacode.org/wiki/Rep-string
  [11]: http://rosettacode.org/wiki/Nautical_bell
  [12]: http://rosettacode.org/wiki/Word_wrap
  [13]: http://rosettacode.org/wiki/Fibonacci_word/fractal</description>
    <dc:creator>Sander Huisman</dc:creator>
    <dc:date>2014-06-04T20:27:52Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/288532">
    <title>Roadmap for CDF?</title>
    <link>https://community.wolfram.com/groups/-/m/t/288532</link>
    <description>I am doing some project planning that could use the CDF Player and CDF technology as a means of distributing a mathematical model to reviewers.

However, I&amp;#039;ve noticed that the documentation for 9 is really for 8.  There have been some indications that 10 is coming out with no changes to the documentation since version 8.  There is no File | New | CDF (Free or Pro) is 9.  The latest CDFs in CDF-Examples are from 2012.  This raises a red flag that CDFs are no longer mainstream.

Ideally we would like to use a technology that is supported and will stay current with Windows and Apple OS versions.

I see that there is a CDF Export and Preview under the File menu.  Some of the questions I will be asked by management are:

 1. Is CDF considered a legacy technology?  If not, will it be available in 10 and future versions - is there a roadmap that can be referenced?
 2. If CDF is considered legacy, when do support options expire?
 3. Are there any replacements planned from Wolfram that are functionally equivalent to CDFs?  If so what are they?
 4. What are runtime licensing considerations that should be honored if we use C and C++ as a front-end?
 
CDFs offer an attractive solution - I love what I am seeing in the CDF-Examples -  but before committing to CDFs we need to know that this technology is on-going and will stay current with Mathematica and operating systems.</description>
    <dc:creator>Doug Kimzey</dc:creator>
    <dc:date>2014-07-06T14:44:27Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2504513">
    <title>[WSG22] Daily Study Group: A Guide to Programming and Mathematics with WL</title>
    <link>https://community.wolfram.com/groups/-/m/t/2504513</link>
    <description>A new study group on the topic &amp;#034;A Guide to Programming and Mathematics with the Wolfram Language&amp;#034; will begin soon.&#xD;
&#xD;
Join a cohort of fellow learners and expand your understanding of core programming topics as well as symbolic and applied mathematics functionality in the Wolfram Language with lessons by veteran instructor and developer [David Withoff][1]. A basic working knowledge of the Wolfram Language or introductory-level skill in any programming language is recommended.&#xD;
&#xD;
April 18&amp;#x2013;May 6&#xD;
&#xD;
11am&amp;#x2013;12pm US CT (4&amp;#x2013;5pm GMT)&#xD;
&#xD;
[**REGISTER HERE**][2]&#xD;
&#xD;
![enter image description here][3]&#xD;
&#xD;
&#xD;
  [1]: https://www.wolfram.com/wolfram-u/instructors/withoff.html&#xD;
  [2]: https://www.bigmarker.com/series/daily-study-group-a-guide-to-programming-and-mathematics/series_details?utm_bmcr_source=community&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=WolframUBanner.jpeg&amp;amp;userId=130003</description>
    <dc:creator>Abrita Chakravarty</dc:creator>
    <dc:date>2022-04-06T14:49:11Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1085633">
    <title>How-To-Guide: External GPU on OSX - how to use CUDA on your Mac</title>
    <link>https://community.wolfram.com/groups/-/m/t/1085633</link>
    <description>The neural network and machine learning framework has become one of the key features of the latest releases of the Wolfram Language. Training neural networks can be very time consuming on a standard CPU. Luckily the Wolfram Language offers an incredible easy way to use a GPU to train networks - and do lots of other cool stuff. The problem with this was/is that most current Macs do not have an NVIDIA graphics card, which is necessary to access this framework within the Wolfram Language. Therefore, Wolfram Inc. had decided to drop support for GPUs on Macs. There is however a way to use GPUs on Macs. For example you can use an [external GPU like the one offered by Bizon][1]. &#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
Apart from the BizonBox there a couple of cables and a power supply. You can buy/configure different versions of the BizonBox: there is a range of different graphics cards available and you can buy a the BizonBox 2s which basically connects via Thunderbolt and the BizonBox 3 which connects to USB-C. &#xD;
&#xD;
Luckily, Wolfram have decided to reintroduce support for GPUs in Mathematica 11.1.1 - see [the discussion here][3]. &#xD;
&#xD;
 I have a variety of these BizonBoxes (both 2s and 3) and a range of Macs. I thought it would be a good idea to post a how-to. The essence of what I will be describing in this post should work for most Macs. I ran Sierra on all of them. Here is the recipe to get the thing to work:&#xD;
&#xD;
Installation of the BizonBox, the required drivers, and compilers&#xD;
-----------------------------------------------------------------&#xD;
&#xD;
0. I will assume that you have Sierra installed and that Xcode is running. One of the really important steps if you want to use compilers is to ***downgrade*** the command line tools to version 7.3 You will  have to log into your Apple Developer account and download the Command Line Tools version 7.3. Install the tools and run the  terminal command (not in Mathematica!): &#xD;
&#xD;
        sudo xcode-select  --switch /Library/Developer/CommandLineTools&#xD;
&#xD;
1. Reboot your Mac into safe mode, i.e. hold CMD+R while rebooting. &#xD;
&#xD;
2. Open a terminal (under item Utilities at the top of the screen).&#xD;
&#xD;
3. Enter &#xD;
&#xD;
        csrutil disable &#xD;
&#xD;
4. Shut the computer down.&#xD;
&#xD;
5. Connect your BizonBox to the mains and to either the thunderbolt or USB-C port of your Mac.&#xD;
&#xD;
6. Restart your Mac. &#xD;
&#xD;
7. Click on the Apple symbol in the top left. Then &amp;#034;About this Mac&amp;#034; and &amp;#034;System Report&amp;#034;. In the Thunderbolt section you should see something like this:&#xD;
&#xD;
![enter image description here][4]&#xD;
&#xD;
8. In the documentation of the BizonBox you will find a link to a program called bizonboxmac.zip. Download that file and unzip it.&#xD;
&#xD;
9. Open the folder and click on &amp;#034;bizonbox.prefPane&amp;#034; to install. (If prompted to, do update!)&#xD;
&#xD;
10. You should see this window:&#xD;
&#xD;
![enter image description here][6]&#xD;
&#xD;
11. Click on Activate. Type in password if required to do so. It should give something like this:&#xD;
&#xD;
![enter image description here][7]&#xD;
&#xD;
Then restart.&#xD;
&#xD;
12.  Install the CUDA Toolkit: [https://developer.nvidia.com/cuda-downloads][8]. You&amp;#039;ll have to click through some questions for the download. &#xD;
&#xD;
![enter image description here][9]&#xD;
&#xD;
what you download should be something like cuda_8.0.61_mac.dmg and it should be more or less 1.44 GB worth. &#xD;
&#xD;
13.  Install the toolkit with all its elements.&#xD;
&#xD;
![enter image description here][10]&#xD;
&#xD;
14. Restart your computer.&#xD;
&#xD;
First tests&#xD;
-----------&#xD;
&#xD;
Now you should be good to go. Open Mathematica 11.1.1. Execute &#xD;
&#xD;
    Needs[&amp;#034;CUDALink`&amp;#034;]&#xD;
    Needs[&amp;#034;CCompilerDriver`&amp;#034;]&#xD;
    CUDAResourcesInstall[]&#xD;
&#xD;
Then try:&#xD;
&#xD;
    CUDAResourcesInformation[]&#xD;
&#xD;
which should look somewhat like this:&#xD;
&#xD;
![enter image description here][11]&#xD;
&#xD;
 Then you should check &#xD;
&#xD;
    SystemInformation[]&#xD;
&#xD;
Head to Links and then CUDA.This should look similar to this:&#xD;
&#xD;
![enter image description here][12]&#xD;
&#xD;
So far so good. Next is the really crucial thing:&#xD;
&#xD;
    CUDAQ[]&#xD;
&#xD;
should give TRUE. If that&amp;#039;s what you see you are good to go. Be more daring and try&#xD;
&#xD;
    CUDAImageConvolve[ExampleData[{&amp;#034;TestImage&amp;#034;,&amp;#034;Lena&amp;#034;}], N[BoxMatrix[1]/9]] // AbsoluteTiming&#xD;
&#xD;
![enter image description here][13]&#xD;
&#xD;
You might notice that the non-GPU version of this command runs faster:&#xD;
&#xD;
    ImageConvolve[ExampleData[{&amp;#034;TestImage&amp;#034;,&amp;#034;Lena&amp;#034;}], N[BoxMatrix[1]/9]] // AbsoluteTiming&#xD;
&#xD;
runs in something like 0.0824 seconds, but that&amp;#039;s ok. &#xD;
&#xD;
Benchmarking (training neural networks)&#xD;
---------------------------------------&#xD;
&#xD;
Let&amp;#039;s do some Benchmarking. Download some example data:&#xD;
&#xD;
    obj = ResourceObject[&amp;#034;CIFAR-10&amp;#034;]; &#xD;
    trainingData = ResourceData[obj, &amp;#034;TrainingData&amp;#034;]; &#xD;
    RandomSample[trainingData, 5]&#xD;
&#xD;
You can check whether it worked:&#xD;
&#xD;
    RandomSample[trainingData, 5]&#xD;
&#xD;
should give something like this:&#xD;
&#xD;
![enter image description here][14]&#xD;
&#xD;
These are the classes of the 50000 images:&#xD;
&#xD;
    classes = Union@Values[trainingData] &#xD;
&#xD;
![enter image description here][15]&#xD;
&#xD;
Let&amp;#039;s build a network &#xD;
&#xD;
    module = NetChain[{ConvolutionLayer[100, {3, 3}], &#xD;
       BatchNormalizationLayer[], ElementwiseLayer[Ramp], &#xD;
       PoolingLayer[{3, 3}, &amp;#034;PaddingSize&amp;#034; -&amp;gt; 1]}]&#xD;
    &#xD;
    net = NetChain[{module, module, module, module, FlattenLayer[], 500, &#xD;
       Ramp, 10, SoftmaxLayer[]}, &#xD;
      &amp;#034;Input&amp;#034; -&amp;gt; NetEncoder[{&amp;#034;Image&amp;#034;, {32, 32}}], &#xD;
      &amp;#034;Output&amp;#034; -&amp;gt; NetDecoder[{&amp;#034;Class&amp;#034;, classes}]]&#xD;
&#xD;
When you train the network:&#xD;
&#xD;
    {time, trained} = AbsoluteTiming@NetTrain[net, trainingData, Automatic, &amp;#034;TargetDevice&amp;#034; -&amp;gt; &amp;#034;GPU&amp;#034;];&#xD;
&#xD;
you should see something like this:&#xD;
&#xD;
![enter image description here][16]&#xD;
&#xD;
So the thing started 45 secs ago and it supposed to finish in 2m54s. In fact, it finished after 3m30s. If we run the same on the CPU we get:&#xD;
&#xD;
![enter image description here][17]&#xD;
&#xD;
The estimate kept changing a bit, but it settled down at about 18h20m.That is slower by a factor of about 315, which is quite substantial. &#xD;
&#xD;
Use of compiler&#xD;
---------------&#xD;
&#xD;
Up to now we have not needed the actual compiler. Let&amp;#039;s try this, too. Let&amp;#039;s grow a Mandelbulb:&#xD;
&#xD;
    width = 4*640;&#xD;
    height = 4*480;&#xD;
    iconfig = {width, height, 1, 0, 1, 6};&#xD;
    config = {0.001, 0.0, 0.0, 0.0, 8.0, 15.0, 10.0, 5.0};&#xD;
    camera = {{2.0, 2.0, 2.0}, {0.0, 0.0, 0.0}};&#xD;
    AppendTo[camera, Normalize[camera[[2]] - camera[[1]]]];&#xD;
    AppendTo[camera, &#xD;
      0.75*Normalize[Cross[camera[[3]], {0.0, 1.0, 0.0}]]];&#xD;
    AppendTo[camera, 0.75*Normalize[Cross[camera[[4]], camera[[3]]]]];&#xD;
    config = Join[{config, Flatten[camera]}];&#xD;
    &#xD;
    pixelsMem = CUDAMemoryAllocate[&amp;#034;Float&amp;#034;, {height, width, 3}]&#xD;
    &#xD;
    srcf = FileNameJoin[{$CUDALinkPath, &amp;#034;SupportFiles&amp;#034;, &amp;#034;mandelbulb.cu&amp;#034;}]&#xD;
&#xD;
Now this should work:&#xD;
&#xD;
    mandelbulb = &#xD;
    CUDAFunctionLoad[File[srcf], &amp;#034;MandelbulbGPU&amp;#034;, {{&amp;#034;Float&amp;#034;, _, &amp;#034;Output&amp;#034;}, {&amp;#034;Float&amp;#034;, _, &amp;#034;Input&amp;#034;}, {&amp;#034;Integer32&amp;#034;, _, &amp;#034;Input&amp;#034;}, &amp;#034;Integer32&amp;#034;, &amp;#034;Float&amp;#034;, &amp;#034;Float&amp;#034;}, {16}, &amp;#034;UnmangleCode&amp;#034; -&amp;gt; False, &amp;#034;CompileOptions&amp;#034; -&amp;gt; &amp;#034;--Wno-deprecated-gpu-targets &amp;#034;, &amp;#034;ShellOutputFunction&amp;#034; -&amp;gt; Print]&#xD;
&#xD;
Under certain circumstances you might want to specify the location of the compiler like so:&#xD;
&#xD;
    mandelbulb = &#xD;
     CUDAFunctionLoad[File[srcf], &amp;#034;MandelbulbGPU&amp;#034;, {{&amp;#034;Float&amp;#034;, _, &amp;#034;Output&amp;#034;}, {&amp;#034;Float&amp;#034;, _, &amp;#034;Input&amp;#034;}, {&amp;#034;Integer32&amp;#034;, _, &amp;#034;Input&amp;#034;}, &amp;#034;Integer32&amp;#034;, &amp;#034;Float&amp;#034;, &#xD;
    &amp;#034;Float&amp;#034;}, {16}, &amp;#034;UnmangleCode&amp;#034; -&amp;gt; False, &amp;#034;CompileOptions&amp;#034; -&amp;gt; &amp;#034;--Wno-deprecated-gpu-targets &amp;#034;, &amp;#034;ShellOutputFunction&amp;#034; -&amp;gt; Print, &#xD;
    &amp;#034;CompilerInstallation&amp;#034; -&amp;gt; &amp;#034;/Developer/NVIDIA/CUDA-8.0/bin/&amp;#034;]&#xD;
&#xD;
This should give:&#xD;
&#xD;
![enter image description here][18]&#xD;
&#xD;
Now&#xD;
&#xD;
    mandelbulb[pixelsMem, Flatten[config], iconfig, 0, 0.0, 0.0, {width*height*3}];&#xD;
    pixels = CUDAMemoryGet[pixelsMem];&#xD;
    Image[pixels]&#xD;
&#xD;
gives&#xD;
&#xD;
![enter image description here][19]&#xD;
&#xD;
So it appears that all is working fine.&#xD;
&#xD;
Problems&#xD;
--------&#xD;
&#xD;
I did come up with some problems though. There is quite a number of CUDA functions:&#xD;
&#xD;
    Names[&amp;#034;CUDALink`*&amp;#034;]&#xD;
&#xD;
![enter image description here][20]&#xD;
&#xD;
Many work just fine. &#xD;
&#xD;
    res = RandomReal[1, 5000];&#xD;
    ListLinePlot[res]&#xD;
&#xD;
![enter image description here][21]&#xD;
&#xD;
    ListLinePlot[First@CUDAImageConvolve[{res}, {GaussianMatrix[{{10}, 10}]}]]&#xD;
&#xD;
![enter image description here][22]&#xD;
&#xD;
The thing is that some don&amp;#039;t and I am not sure why (I have a hypothesis though). Here are some functions that do **not** appear to work:&#xD;
&#xD;
CUDAColorNegate&#xD;
CUDAClamp&#xD;
CUDAFold&#xD;
CUDAVolumetricRender&#xD;
CUDAFluidDynamics&#xD;
&#xD;
and some more. I would be very grateful if someone could check these on OSX (and perhaps Windows?). I am not sure if the this is due to some particularity of my systems or something that could be flagged up to Wolfram Inc for checking.  &#xD;
&#xD;
 When I wanted to try that systematically I wanted to use the function&#xD;
&#xD;
    WolframLanguageData&#xD;
&#xD;
to look for the first example in the documentation of the CUDA functions, but it appears that no CUDA function is in the WolframLanguageData. I think tit would be great to have them there, too, and am not sure why they wouldn&amp;#039;t be there. &#xD;
&#xD;
In spite of these problems I hope that this post will help some Mac users to get CUDA going. It is a great framework and simple to use in the Wolfram Language. With the BizonBox and Mathematica 11.1.1 Mac users are no  longer excluded from accessing this feature. &#xD;
&#xD;
Cheers,&#xD;
&#xD;
Marco&#xD;
&#xD;
PS: Note, that there is anecdotal evidence that one can even use the BizonBox under Windows running in a virtual box under OSX. I don&amp;#039;t have Windows, but I&amp;#039;d like to hear if anyone get this running. &#xD;
&#xD;
  [1]: https://bizon-tech.com&#xD;
  [2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at22.09.10.png&amp;amp;userId=48754&#xD;
  [3]: http://community.wolfram.com/groups/-/m/t/902394&#xD;
  [4]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot1.png&amp;amp;userId=48754&#xD;
  [5]: http://bizon-tech.com/bizonboxmac.zip&#xD;
  [6]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2.png&amp;amp;userId=48754&#xD;
  [7]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot3.png&amp;amp;userId=48754&#xD;
  [8]: https://developer.nvidia.com/cuda-downloads&#xD;
  [9]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot6.png&amp;amp;userId=48754&#xD;
  [10]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot7.png&amp;amp;userId=48754&#xD;
  [11]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at22.38.22.png&amp;amp;userId=48754&#xD;
  [12]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-06at18.46.46.png&amp;amp;userId=48754&#xD;
  [13]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at22.49.15.png&amp;amp;userId=48754&#xD;
  [14]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at22.52.43.png&amp;amp;userId=48754&#xD;
  [15]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at22.53.30.png&amp;amp;userId=48754&#xD;
  [16]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at20.37.20.png&amp;amp;userId=48754&#xD;
  [17]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at20.39.02.png&amp;amp;userId=48754&#xD;
  [18]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at23.04.38.png&amp;amp;userId=48754&#xD;
  [19]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at21.50.42.png&amp;amp;userId=48754&#xD;
  [20]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at23.10.05.png&amp;amp;userId=48754&#xD;
  [21]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at23.15.59.png&amp;amp;userId=48754&#xD;
  [22]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2017-05-07at23.16.36.png&amp;amp;userId=48754</description>
    <dc:creator>Marco Thiel</dc:creator>
    <dc:date>2017-05-07T22:21:42Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1931315">
    <title>CodeParser and CodeInspector</title>
    <link>https://community.wolfram.com/groups/-/m/t/1931315</link>
    <description>[![enter image description here][2]][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][3]&#xD;
&#xD;
  [1]: https://youtu.be/rOa5IntICFA&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2020-04-09at12.54.33PM.png&amp;amp;userId=11733&#xD;
  [3]: https://www.wolframcloud.com/obj/afe2a2fb-ee55-4df5-a6fb-9bc16dd08af7</description>
    <dc:creator>Brenton Bostick</dc:creator>
    <dc:date>2020-04-09T15:04:38Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/216113">
    <title>Wolfram Research at SXSW</title>
    <link>https://community.wolfram.com/groups/-/m/t/216113</link>
    <description>We are having a blast in the [url=http://www.wolfram.com/events/sxsw-2014]Wolfram booth at SXSW[/url]! 

Yesterday was our opening day, and we were thrilled to see so many friends - old and new - stop by to say hello and see what we&amp;#039;ve been up to.
Visitors came to the booth with coding challenges for our live coders. Here are some neat examples, built with the Wolfram Language.

10 map projections of the world:[mcode]Grid[
 Partition[
  GeoGraphics[{}, GeoRange -&amp;gt; &amp;#034;World&amp;#034;, GeoProjection -&amp;gt; #, GeoGridLines -&amp;gt; Automatic] &amp;amp; /@ GeoProjectionData[][[;; 10]],
  5
  ]
 ][/mcode][img=width: 716px; height: 428px;]/c/portal/getImageAttachment?filename=Projections.png&amp;amp;userId=55401[/img]

Countries in the world, colored by GDP:[mcode]GeoRegionValuePlot[Thread[CountryData[] -&amp;gt; EntityValue[CountryData[], &amp;#034;GDP&amp;#034;]]][/mcode][img=width: 509px; height: 257px;]/c/portal/getImageAttachment?filename=GDPPlot.png&amp;amp;userId=55401[/img]

Pop art:[mcode]Colorize[ImageForestingComponents[ExampleData[{&amp;#034;TestImage&amp;#034;, &amp;#034;House2&amp;#034;}], Automatic, 10]][/mcode][img=width: 512px; height: 512px;]/c/portal/getImageAttachment?filename=PopArt.png&amp;amp;userId=55401[/img]

Intel stock value over time:[mcode]DateListPlot[TimeSeries[FinancialData[&amp;#034;INTC&amp;#034;, &amp;#034;Jan. 1, 2000&amp;#034;]]][/mcode][img=width: 360px; height: 234px;]/c/portal/getImageAttachment?filename=IntelPlot.png&amp;amp;userId=55401[/img]

Length of words in Beowolf, Old English vs. Modern:[mcode]Histogram[{
  StringLength /@ 
   StringSplit[ExampleData[{&amp;#034;Text&amp;#034;, &amp;#034;BeowulfOldEnglish&amp;#034;}]],
  StringLength /@ StringSplit[ExampleData[{&amp;#034;Text&amp;#034;, &amp;#034;BeowulfModern&amp;#034;}]]
  },
 ChartLegends -&amp;gt; {&amp;#034;Old English&amp;#034;, &amp;#034;Modern&amp;#034;}
][/mcode][img=width: 463px; height: 226px;]/c/portal/getImageAttachment?filename=Beowulf.png&amp;amp;userId=55401[/img]

How warm it is today:[mcode]IconData[&amp;#034;AirTemperature&amp;#034;, AirTemperatureData[UnitSystem -&amp;gt; &amp;#034;Imperial&amp;#034;]][/mcode][img]/c/portal/getImageAttachment?filename=Temperature.png&amp;amp;userId=55401[/img]

Relief plot of Austin, TX:[mcode]ReliefPlot[QuantityMagnitude[GeoElevationData[Entity[&amp;#034;City&amp;#034;, {&amp;#034;Austin&amp;#034;, &amp;#034;Texas&amp;#034;, &amp;#034;UnitedStates&amp;#034;}]]]][/mcode][img=width: 360px; height: 394px;]/c/portal/getImageAttachment?filename=ReliefPlotAustin.png&amp;amp;userId=55401[/img]

And the shortest tour of large cities in France:[mcode]coordinates = EntityValue[CityData[{Large, &amp;#034;France&amp;#034;}], &amp;#034;Coordinates&amp;#034;];
tour = Last[FindShortestTour[coordinates]];
GeoGraphics[{Red, Thick, Line@coordinates[[tour]]}][/mcode][img=width: 420px; height: 398px;]/c/portal/getImageAttachment?filename=France.png&amp;amp;userId=55401[/img]

We are excited to see what coding challenges we will tackle in our booth this week. Stop by, say hello, and write code with us! </description>
    <dc:creator>Erin Craig</dc:creator>
    <dc:date>2014-03-10T16:34:09Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2774101">
    <title>[WSG23] Daily Study Group: Wolfram Language Basics</title>
    <link>https://community.wolfram.com/groups/-/m/t/2774101</link>
    <description>A Wolfram U daily study group covering the implementation of Wolfram Language for tasks ranging from basic programming to video analysis begins on January 17, 2023 and runs through February 3. This study group will run on weekdays from 11:00AM&amp;#x2013;12:00PM Central US time.&#xD;
&#xD;
This study group is an incredible way either to start learning Wolfram Language or to explore new functionality you haven&amp;#039;t yet used. We will cover a very broad variety of topics, including but not limited to image and sound analysis, symbolics and numerics, function visualization and even cloud computation and deployment. We will even cover useful tips and tricks to help you work efficiently with notebooks!&#xD;
&#xD;
![enter image description here][1]&#xD;
&#xD;
**No prior Wolfram Language experience is necessary.** As usual, we will have questions, study materials, quizzes along the way to help you master the subject matter. &#xD;
&#xD;
You can [**REGISTER HERE**][2]. I hope to see you there!&#xD;
&#xD;
![enter image description here][3]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=meechstogram.png&amp;amp;userId=1711324&#xD;
  [2]: https://www.bigmarker.com/series/daily-study-group-wolfram-language-basics-wsg34/series_details?utm_bmcr_source=community&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=WolframUBanner%281%29%281%29.jpeg&amp;amp;userId=1711324</description>
    <dc:creator>Arben Kalziqi</dc:creator>
    <dc:date>2023-01-11T04:29:36Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1096129">
    <title>Compare/contrast Wolfram|One, Development Platform, Mathematica Online, etc</title>
    <link>https://community.wolfram.com/groups/-/m/t/1096129</link>
    <description>Can somebody give a succinct comparison of the features of the various products: Mathematica, Mathematica Online, Wolfram|One, Wolfram Development Platform, Wolfram Cloud, Wolfram Data Drop.&#xD;
&#xD;
I find differentiating so many similar products &amp;amp;mdash; especially those manifestly cloud-based &amp;amp;mdash; rather confusing.</description>
    <dc:creator>Murray Eisenberg</dc:creator>
    <dc:date>2017-05-16T18:35:44Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1185247">
    <title>Thoughts on a Python interface, and why ExternalEvaluate is just not enough</title>
    <link>https://community.wolfram.com/groups/-/m/t/1185247</link>
    <description>`ExternalEvaluate`, introduced in M11.2, is a nice initiative. It enables limited communication with multiple languages, including Python, and appears to be designed to be relatively easily extensible (see ``ExternalEvaluate`AddHeuristic`` if you want to investigate, though I wouldn&amp;#039;t invest in this until it becomes documented).&#xD;
&#xD;
**My great fear, however, is that with `ExternalEvaluate` Wolfram will consider the question of a Python interface settled.**&#xD;
&#xD;
This would be a big mistake.  A *general* framework, like `ExternalEvaluate`, that aims to work with *any* language and relies on passing code (contained in a string) to an evaluator and getting JSON back, will never be fast enough or flexible enough for *practical scientific computing*.&#xD;
&#xD;
Consider a task as simple as computing the inverse of a $100\times100$ Mathematica matrix using Python (using [`numpy.linalg.inv`](https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.inv.html)).  &#xD;
&#xD;
I challenge people to implement this with `ExternalEvaluate`.  It&amp;#039;s not possible to do it *in a practically useful way*. The matrix has to be sent *as code*, and piecing together code from strings just can&amp;#039;t replace structured communication. The result will need to be received as something encodable to JSON. This has terrible performance due to multiple conversions, and even risks losing numerical precision.&#xD;
&#xD;
Just sending and receiving a tiny list of 10000 integers takes half a second (!)&#xD;
&#xD;
    In[6]:= ExternalEvaluate[py, &amp;#034;range(10000)&amp;#034;]; // AbsoluteTiming&#xD;
    Out[6]= {0.52292, Null}&#xD;
&#xD;
Since I am primarily interested in scientific and numerical computing (as I believe most M users are), I simply won&amp;#039;t use `ExternalEvaluate` much, as it&amp;#039;s not suitable for this purpose.  What if we need to do a [mesh transformation](https://mathematica.stackexchange.com/q/155484/12) that Mathematica can&amp;#039;t currently handle, but there&amp;#039;s a Python package for it?  It&amp;#039;s exactly the kind of problem I am looking to apply Python for.  I have in fact done mesh transformations using MATLAB toolboxes directly from within Mathematica, using [MATLink][1], while doing the rest of the processing in Mathematica. But I couldn&amp;#039;t do this with ExternalEvaluate/Python in a reasonable way.&#xD;
&#xD;
In 2017, any scientific computing system *needs* to have a Python interface to be taken seriously.   [MATLAB has one][2], and it *is* practically usable for numerical/scientific problems.&#xD;
&#xD;
----&#xD;
&#xD;
## A Python interface&#xD;
&#xD;
I envision a Python interface which works like this:&#xD;
&#xD;
 - The MathLink/WSTP API is exposed to Python, and serves as the basis of the system.  MathLink is good at transferring large numerical arrays efficiently.&#xD;
 - Fundamental data types (lists, dictionaries, bignums, etc.) as well as datatypes critical for numerical computing (numpy arrays) can be transferred *efficiently* and *bidirectionally*.  Numpy arrays in particular must translate to/from packed arrays in Mathematica with the lowest possible overhead.&#xD;
 - Python functions can be set up to be called from within Mathematica, with automatic argument translation and return type translation.  E.g.,&#xD;
&#xD;
        PyFun[&amp;#034;myfun&amp;#034;][ (* myfun is a function defined in Python *)&#xD;
            {1,2,3} (* a list *), &#xD;
            PyNum[{1,2,3}] (* cast to numpy array, since the interpretation of {1,2,3} is ambiguous *), &#xD;
            PySet[{1,2,3}] (* cast to a set *)&#xD;
        ]&#xD;
&#xD;
 - The system should be user-extensible to add translations for new datatypes, e.g. a Python class that is needed frequently for some application.&#xD;
 - The primary mode of operation should be that Python is run as a slave (subprocess) of Mathematica. But there should be a second mode of operation where both Mathematica and Python are being used interactively, and they are able to send/receive structured data to/from each other on demand.&#xD;
 - As a bonus: Python can also call back to Mathematica, so e.g. we can use a numerical optimizer available in Python to find the minimum of a function defined in Mathematica&#xD;
 - An interface whose primary purpose is to call Mathematica from Python is a different topic, but can be built on the same data translation framework described above.&#xD;
&#xD;
The development of such an interface should be driven by real use cases.  Ideally, Wolfram should talk to users who use Mathematica for more than fun and games, and do scientific computing as part of their daily work, with multiple tools (not just M).  Start with a number of realistic problems, and make sure the interface can help in solving them.  As a non-trivial test case for the datatype-extension framework, make sure people can set up auto-translation for [SymPy objects][3], or a [Pandas dataframe][4], or a [networkx graph][5].  Run `FindMinimum` on a Python function and make sure it performs well. (In a practical scenario this could be a function implementing a physics simulation rather than a simple formula.)  As a performance stress test, run `Plot3D` (which triggers a very high number of evaluations) on a Python function.  Performance and usability problems will be exposed by such testing early, and then the interface can be *designed* in such a way as to make these problems at least solvable (if not immediately solved in the first version).  I do not believe that they are solvable with the `ExternalEvaluate` design.&#xD;
&#xD;
Of course, this is not the only possible design for an interface. J/Link works differently: it has handles to Java-side objects. But it also has a different goal. Based on my experience with MATLink and RLink, I believe that *for practical scientific/numerical computing*, the right approach is what I outlined above, and that the performance of data structre translation is critical.&#xD;
&#xD;
----&#xD;
&#xD;
## ExternalEvaluate&#xD;
&#xD;
Don&amp;#039;t get me wrong, I do think that the `ExternalEvaluate` framework is a very useful initiative, and it has its place.  I am saying this because I looked at its source code and it appears to be easily extensible.  R has zeromq and JSON capabilities, and it looks like one could set it up to work with `ExternalEvaluate` in a day or so.  So does Perl, anyone want to give it a try?  `ExternalEvaluate` is great because it is simple to use and works (or can be made to work) with just about any interpreted language that speaks JSON and zeromq. But it is also, in essence, a quick and dirty hack (that&amp;#039;s extensible in a quick and dirty way), and won&amp;#039;t be able to scale to the types of problems I mentioned above.&#xD;
&#xD;
----&#xD;
&#xD;
## MathLink/WSTP&#xD;
&#xD;
Let me finally say a few words about why MathLink/WSTP are critical for Mathematica, and what should be improved about them.&#xD;
&#xD;
I believe that any serious interface should be built on top of MathLink.  Since Mathematica already has a good interface capable of inter-process communication, that is designed to work well with Mathematica, and designed to handle numerical and symbolic data efficiently, use it!!&#xD;
&#xD;
Two things are missing:&#xD;
&#xD;
 - Better documentation and example programs, so more people will learn MathLink&#xD;
&#xD;
 - If the MathLink library (not Mathematica!) were open source, people would be able to use it to link to libraries [which are licensed under the GPL][6].  Even a separate open source implementation that only supports shared memory passing would be sufficientno need to publish the currently used code in full.  Many scientific libraries are licensed under the GPL, often without their authors even realizing that they are practically preventing them from being used from closed source systems like Mathematica (due to the need to link to the MathLink libraries).  To be precise, GPL licensed code *can* be linked with Mathematica, but the result cannot be shared with anyone.  I have personally requested the author of a certain library to grant an exception for linking to Mathematica, and they did not grant it. Even worse, I am not sure they understood the issue.  The authors of other libraries *cannot* grant such a permission because they themselves are using yet other GPL&amp;#039;s libraries.&#xD;
&#xD;
    [MathLink already has a more permissive license than Mathematica.][7] Why not go all the way and publish an open source implementation?&#xD;
&#xD;
I am hoping that Wolfram will fix these two problems, and encourage people to create MathLink-based interfaces to other systems. (However, I also hope that Wolfram will create a high-quality Python link themselves instead of relying on the community.)&#xD;
&#xD;
I have talked about the potential of Mathematica as a glue-language at some Wolfram events in France, and I believe that the capability to interface external libraries/systems easily is critical for Mathematica&amp;#039;s future, and so is a healthy third-party package ecosystem.&#xD;
&#xD;
&#xD;
  [1]: http://matlink.org/&#xD;
  [2]: https://www.mathworks.com/help/matlab/matlab-engine-for-python.html&#xD;
  [3]: http://www.sympy.org/&#xD;
  [4]: http://pandas.pydata.org/&#xD;
  [5]: https://networkx.github.io/&#xD;
  [6]: https://en.wikipedia.org/wiki/Copyleft&#xD;
  [7]: https://www.wolfram.com/legal/agreements/mathlink.html</description>
    <dc:creator>Szabolcs Horvát</dc:creator>
    <dc:date>2017-09-15T12:33:04Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2445356">
    <title>A Wolfram Language facsimile of Wordle</title>
    <link>https://community.wolfram.com/groups/-/m/t/2445356</link>
    <description>![enter image description here][1]&#xD;
&#xD;
The popular game Wordle can take up a lot of your time.  The author designed it so that it you can only play it once a day, thus saving us from ourselves :-).&#xD;
&#xD;
[Wordle][2]&#xD;
&#xD;
[NYTimes article on Wordle][3]&#xD;
&#xD;
But I couldn&amp;#039;t resist the challenge to create a version of it in Mathematica, just for fun and because I was bored this past weekend. &#xD;
&#xD;
See the attached notebook and enjoy.  Alas, since you can run it any number of times you are only to blame for yourself it you spend too much time on it. &#xD;
&#xD;
After executing the notebook just execute &#xD;
&#xD;
    MWordle[Deploy]&#xD;
&#xD;
to bring up the game.&#xD;
&#xD;
A few additional comments.  The notebook MWordle.nb has the option&#xD;
&#xD;
AutoGeneratedPackage -&amp;gt; Automatic&#xD;
&#xD;
which causes it, when saved, to create an MWordle.m package file in its same directory. &#xD;
&#xD;
The code in MWordle.nb is set up as a package with the context MWordle`Mwordle`&#xD;
&#xD;
If you want to set things up so that the package gets loaded and the MWordle game is automatically launched, do the following.&#xD;
&#xD;
Create a directory MWordleGame on your disk  (The name MWordleGame can actually be whatever you wish.)  And in the MWordleGame directory create a new directory called MWordle.  (This name must be exactly that so that the MWordle`Mwordle` Context is property respected.)  Put the MWordle.nb notebook in the MWordle dierectory, open it in Mathematica and save it so that the MWordle.m file is created in the MWordle directory.  Then you can close the MWordle.nb notebook.&#xD;
&#xD;
Now in your MWordleGame directory save a new notebook -- you can call it whatever you wish, but something like LaunchMwordle.nb is a sensible choice.&#xD;
&#xD;
In that notebook create a button with the following command:&#xD;
&#xD;
&#xD;
    CellPrint[TextCell[Button[&amp;#034;Launch MWordle&amp;#034;,&#xD;
       Monitor[&#xD;
        If[! MemberQ[$Path, NotebookDirectory[]], &#xD;
         AppendTo[$Path, NotebookDirectory[]]];&#xD;
        Needs[&amp;#034;MWordle`MWordle`&amp;#034;]; MWordle`MWordle`MWordle[Deploy],&#xD;
        Row[{ProgressIndicator[Appearance -&amp;gt; &amp;#034;Necklace&amp;#034;, &#xD;
           ImageSize -&amp;gt; Small], Spacer[5], &#xD;
          Style[&amp;#034;Launching MWordle...&amp;#034;, 12, Blue, &#xD;
           FontFamily -&amp;gt; &amp;#034;Arial&amp;#034;]}]],&#xD;
       Method -&amp;gt; &amp;#034;Queued&amp;#034;], &amp;#034;Text&amp;#034;, GeneratedCell -&amp;gt; False, &#xD;
      CellAutoOverwrite -&amp;gt; False]]&#xD;
&#xD;
You now have a button in your LaunchMwordle.nb notebook which you can use any time you want to launch MWordle without having to execute the cells in the MWordle.nb notebook.&#xD;
&#xD;
Download the actual notebook from the link at the end of this post. The following is a version here to read.&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][4]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Wordle.gif&amp;amp;userId=20103&#xD;
  [2]: https://www.powerlanguage.co.uk/wordle/&#xD;
  [3]: https://www.nytimes.com/2022/01/03/technology/wordle-word-game-creator.html&#xD;
  [4]: https://www.wolframcloud.com/obj/08c015e2-0d65-4634-bf54-4b73e518f6d5</description>
    <dc:creator>David Reiss</dc:creator>
    <dc:date>2022-01-13T21:47:44Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/229505">
    <title>2048 game - suggestions?</title>
    <link>https://community.wolfram.com/groups/-/m/t/229505</link>
    <description>Hey all, I&amp;#039;m a student and am just starting to get the hang of Mathematica. I tried to make a Mathematica version of the [b][url=http://gabrielecirulli.github.io/2048]game 2048[/url][/b]. My program works now, so I thought I&amp;#039;d share. I&amp;#039;d love to hear if there are any better ways to do it, or any suggestions you have to make it better. 

I originally wanted to see the distribution of how many moves a random game would last. So, now you can use all the normal Mathematica tools to discover cool patterns in 2048. 

Thanks, hope you enjoy!


[mcode]Shift[list_]:=PadRight[Cases[list,Except[0]],4];
Merge[list_]:=Flatten[list//.{x___,c_,c_,y___}-&amp;gt;{x,{2*c},y}];
SlideRow[list_]:=Shift[Merge[Shift[list]]];
Slide[list_,l]:=Table[SlideRow[list[[j]]],{j,1,4}];
Slide[list_,r]:=Table[Reverse[SlideRow[Reverse[list[[j]]]]],{j,1,4}];
Slide[list_,u]:=Transpose[Table[SlideRow[Transpose[list][[j]]],{j,1,4}]];
Slide[list_,d]:=Transpose[Table[Reverse[SlideRow[Reverse[Transpose[list][[j]]]]],{j,1,4}]];
RandInsert[list_]:=ReplacePart[list,RandomChoice[Position[list,0]]-&amp;gt;RandomChoice[{2,4}]]
 (*these functions slide each row in the given direction,combine like terms,and add one random number to an empty tile*)

Col[n_]:=Graphics[{Blend[{Yellow,Cyan,Purple,Red},((Log[n+1]/Log[2]))/11],Rectangle[]}];
Visual[list_]:=ImageCompose[GraphicsGrid[Table[Table[Col[list[[j,i]]],{i,1,4}],{j,1,4}]],GraphicsGrid[list,Frame-&amp;gt;All]]
(*the tiles,with colors and numbers*)

Nex[list_,move_]:=If[FreeQ[list,0],ConstantArray[Infinity,{4,4}],RandInsert[Slide[list,move]]]
(*the update rule*)

(*the game itself.input from {u,d,l,r} to move*)
game=ConstantArray[0,{4,4}];Print[Dynamic[Visual[game]]];While[game!=ConstantArray[Infinity,{4,4}],game=Nex[game,Input[]]][/mcode]
[img]/c/portal/getImageAttachment?filename=ssdfsdret5654344254cfbrev.gif&amp;amp;userId=20103[/img]

Edit: When I compared my results with the excellent [url=http://artent.net/2014/03/17/an-ai-for-2048-part-1/]artent[/url] article below, I noticed two important bugs. A random tile was added even after moves that didn&amp;#039;t change anything. And the game ended after the board was full, even if further moves were possible. To fix this, I changed the Nex update rule. It&amp;#039;s a little clunky, but should work. Uh, right now for the sake of analysis I have the final state be the total score instead of the grid, but you can change it easily enough. Thanks everyone for the comments![mcode]Nex[list_, move_] := Piecewise[{{RandInsert[list], Total[Flatten[list]] == 0}, {Total[Flatten[list]], Slide[list, u] == Slide[list, d] == Slide[list, l] == Slide[list, r] == list}, {list, Slide[list, move] == list}}, RandInsert[Slide[list, move]]][/mcode]</description>
    <dc:creator>Robert Stoughton</dc:creator>
    <dc:date>2014-04-01T18:47:05Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2914219">
    <title>[WSG23] Daily Study Group: Wolfram for Mathematics Research and Study</title>
    <link>https://community.wolfram.com/groups/-/m/t/2914219</link>
    <description>A Wolfram U daily study group covering the implementation of Mathematica and Wolfram Language for mathematics topics ranging from function visualization to upcoming calculus functionality begins on May 22, 2023 and runs through June 1. This study group will run on weekdays from 11:00AM&amp;#x2013;12:00PM Central US time. (We will not meet on Memorial Day, May 29, and Friday sessions will start at 10:30AM for extra review time.) &#xD;
&#xD;
&amp;gt; [**REGISTER HERE**][1]. I hope to see you there!&#xD;
&#xD;
This study group is a fantastic way to learn about the amazing mathematical capabilities built into Wolfram Language. We will cover a *very* broad variety of topics, including but not limited to function visualization, linear algebra and graph theory, differential equations and even fascinating topics such as number theory and asymptotics. Several sessions will be led by the Wolfram developers who work on the mathematics functionality that we&amp;#039;ll be covering!&#xD;
&#xD;
While this study group is aimed at mathematics students at roughly the graduate level, **no prior Wolfram Language experience is necessary**&amp;#x2014;the first day will be dedicated to getting you up to speed with the language itself. As usual, we will have questions, study materials, quizzes along the way to help you master the subject matter and functionality.&#xD;
&#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
&#xD;
  [1]: https://www.bigmarker.com/series/daily-study-group-math-research-wsg40/series_details?utm_bmcr_source=community &amp;#034;REGISTER HERE&amp;#034;&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=WolframUBanner%281%29%281%29.jpg&amp;amp;userId=1711324</description>
    <dc:creator>Arben Kalziqi</dc:creator>
    <dc:date>2023-05-03T23:07:29Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2103748">
    <title>Can Mathematica support a quadriplegic teenager in his learning journey?</title>
    <link>https://community.wolfram.com/groups/-/m/t/2103748</link>
    <description>My 14-year-old son is medically complex, including being a quadriplegic.  He currently uses software (Grid 3) to communicate ideas and an eye tracker (Tobii) with software that allows him to &amp;#034;type&amp;#034; using his eyes.&#xD;
&#xD;
I am looking for tools that will allow him to work out a math problem through its various steps (since he cannot hold a pencil and write on paper to show his work), and I thought Mathematica might be a tool that could help.&#xD;
&#xD;
Has anybody successfully used Mathematica using mouse movements alone and not typing anything on the keyboard?&#xD;
&#xD;
Thanks.</description>
    <dc:creator>Myles Dear</dc:creator>
    <dc:date>2020-10-28T18:37:55Z</dc:date>
  </item>
</rdf:RDF>

