Message Boards Message Boards

GROUPS:

Wolfram Language on a Raspberry Pi rather a tablet or smartphone?

Posted 5 years ago
9712 Views
|
12 Replies
|
41 Total Likes
|
Why was the Wofram Language developed to run on a Raspberry-Pi rather than a tablet or a smartphone? wouldn't it make more sense to create a Wolfram Language app for a mainstream mobile computng platform that has its own screen? can i even use a Raspberry-Pi without connecting it to a monitor and if not, why would i want to run WL on a Raspberry-Pi rather than on a laptop? does running WL or Mathematica on a Raspberry-Pi have any advantage  over running it on a laptop?
12 Replies
It has a huge advantage: it's very affordable---it's free.

And unlike on a touchscreen device like a tablet or smartphone, it's probably actually usable.  Yes, it's slow, but people have been using Mathematica for serious work on slower computers 10 years ago.  So I think this has tremendous potential for education.  Any schoolkid whose parents can afford a Pi can play with Mathematica now.
thanks for the responses (it's really nice to be able to say something obut a prograrmming language and not get a religious flame war started). i don't care much (at all, actually) about Mathematica but i am a major WL enthusiast (i view myself as a WL evangelist)  becuase it is the ONLY programming language that i know of that allows you to implement your ideas as code directly without having to accomodate the inheresnt limitations of a computer (i consider having to express what one want to compute in terms of what the computer can understand rather than in the way you you think as a form of 'special ed' which while i understand its value with people, i'll be damned if i'll spend my time doing it for a computer.

note: i'm in the process of writing a 'philosophy of scientific methodology' article on why WL is the ONLY appropriate language for technical or scientific, or computational, work (i don't know where i'll publish it but i'll post it here in the community if the moderators will let me - it's going to be a bit longer than most of the postings here). it is utterly ridiculous and totally unacceptable for people to have to accomodate the needs and the limits of a computer just because they're using a computer - only hackers should want to or have to care about the computer  (i am a major a-v enthusiast  -  i watch about 500 movies a year - and i'm on my 13th home theartre since the 70's and i don't care out or want to know about a-v technology - though i do know a great deal about video technology - i want to watch movies and not even have to think about the technology behind it.

just as an example, check out the very interesting unpublished manuscript by richard fatemann (a long-standing Mathematica detractor)

http://www.cs.berkeley.edu/~fateman/papers/cashort.pdf

and compare the code he wrote in LISP and the WL code i wrote and the 'more efficient' WL code written be unidentified person. i can say that if i was required to write programs in LISP the way richard does in his mansucript, i'd just abandon the work entrely - i have a lot better things to do with my limited time. and as for the two WL programs in the manuscript, i understand what's being done with the more efficient version (now that i understand more about Compile  thanks to responses i've received in the community here) but i would argue that my version is much better if one wants to focus on the model. i don't think people who use computers for doing something should even have to use Compile or Parallelize - that should be be done automatically by the programming language so they can focus on the science. it's up to SW's programming people to incorporate this into the language (they should also optimize the speed of pattern-matching because that is IMO the MOST significant feature of WL (along with nested function calls not needing temporary state variables) becuase that's the way humans think. the he.. with the way computers 'think'. i couldn't care less about that. and just as final commnet, i absolutely hate the code used in the Demos. that is all low-level stuff and we  shouldn't have to be bothered to write it. i want to be able to write what i call the warpper around a program to make it into a Demo in a single command (just as i want WL to decide what is th best way to do a sort operation - i just want to use "Sort' and not have to decide about whether i should use bubble sort or merge sort or whatever other kind of sort procedure. i want my language to choose thec best sort procedure.
can someone tell me exsctly what Raspberry-Pi system i should get? i want the most powerful one. price is not an issue.  i went to the Amazon website and there's a model A and a model B. i also don't know what keyboard i should get  - bluetooth vs. wired). and what about a monitor (do i use my laptop - can i use my macbook ir0? etc. when i want to buy a compuer or laptop or mobile device or tablet, it's simple. i just buy the latest Apple product (no flames on this, please) but i know nothing about wht Raspberry-PI is the BEST. 
Richard,

Running the Wolfram Language on a Raspberry Pi does not exclude it from running on any tablet or smart phone in the future. But the Raspberry Pi is interesting because of its mission to revitalize basic computer science to a new generation, and the Wolfram Language can play a very useful role in this as well.

The Raspberry Pi is of course much slower than any desktop or laptop, but it has a rich ecosystem of sensors, measuring devices and the ability to be a controller for robotic devices. This opens up many new possibilities: You wouldn't put your laptop out near a creek or a stream to have it measure oxygen or chemical levels, but you would (or could) deploy a device like Raspberry Pi which does this and use the Wolfram Language to process the data and upload it to a server for review.

Additionally, doing a pilot project like this for Raspberry Pi helps to determine the interest for a general port of the Wolfram Language for the ARM architecture: Early next year 64-bit Linux-ARM servers are expected to ship, which may make attractive low-power, low-cost computing nodes for the Wolfram Language.
I agree with Szabolcs. And because it is cheap - it is great educational tool for children and schools - see for example this. Especially for the schools or individuals that cannot afford fancy touch-screens. Raspberry Pi is an analogy of LEGO in modern electronic world. One can invent, build, have fun with it - it is for boosting creativity and learning. I think it is absolutely great initiative.
Hi Richard,

What Arnoud said here is definitely valid, but there's also the important point that our Linux-ARM port shares a lot more of our codebase with our existing Linux product than a port to Android, for instance, would. From a practical standpoint, the effort we've put into porting to Raspberry Pi will help to improve our Linux product and much of the work will transfer directly to future mobile platforms. I, for one, am very excited to show people just how much the Wolfram Language can do and how many places it can run. 
I've been to probably 10 Wolfram conferences in the last 20 years.  At each one of them, somebody would ask Stephen Wolfram, after his keynote speech, when Mathematica was going to be available for various handheld devices.  Every time, he would answer that he expected the device manufacturers to put operating systems such as Windows on those devices.  I was personally skeptical that they would do that, for fear that it would cannibalize sales of laptops and PCs.  So I'm kind of bemused that Mathematica has now been ported to Raspberry Pi.
@Alex  

Perhaps this will be an additional motivation to improve the performance of Mathematica in general?

There is still plenty of opportunity for optimization in the core Mathematica language.  To mention just two examples which have directly affected me: Cases doesn't handle packed arrays very efficiently, and neither does MemberQ.  The situation with MemberQ is particuarly bad becase it directly affects parallelized calculations (see the linked post).
The Raspberry Pi is of course much slower than any desktop or laptop, but it has a rich ecosystem of sensors, measuring devices and the ability to be a controller for robotic devices. This opens up many new possibilities...

I agree with Arnoud. As Mathematica is combined with Raspberry Pi, it would be proved as a very efficient way to do many things. I came from the best engineering school in China, which is heavily funded in lab. But I still had too wait for several months to have request like purchasing National Instrument (R)software and their PCI boards approved for experiments, which are very costly in China (Great products, yet quite expensive and much more than the basic needs). Not to mention other poorly funded colleges. Also it works like toolbox, we need to purchase extra packages to have things work together.  

Wolfram language on Raspberry Pi would divert the situation. The device itself is way cheaper than most commercial software. Also Wolfram langauge with Mathematica is fairly easy to use for visualization and data analysis (like Plot and regression test function are basically one-line commands) . Most important thing is that this device is programmable and reusable, one-time small investment would have fairly long and universal service time. 

I am looking forward to the broad application of platform in schools and labs. 
Posted 5 years ago
The most powerful Pi is the Model B Revision 2.0. The Model B Revision 1.0 has 256MB of RAM, while the 2.0 has 512MB. The model A is designed to be a slightly striped-down version of the B, mainly for lower power use. You might want to look here for more detailed information.

As for accessories, anything that works with Debian should work for the Pi. It has an HDMI in for screens, and two USBs for keyboard and mouse. It's up to you. Though there are some people trying to bring them to market, there don't currently exist widely available monitors or keyboards specifically for the Pi. I've heard a lot of recommendations to use mini-monitors that are meant to be put into cars.
Richard,

This is the setup I have been using while developing for the Raspbery Pi:
  • 1 Raspberry Pi, model B, revision 2 ( 512MB )
  • 1 Powered USB hub with 4 powered USB outputs (to power the Pi)
  • 1 Non-powered USB hub (to plug into Pi and create a convenient place to plug in keyboard, mouse and other devices)
  • 1 USB WIFI dongle (optional, but useful when the Pi needs to be mobile).
  • 1 HDMI cable and 1 LCD display
  • 1 USB keyboard and mouse
  • 1 SD memory card (recommend 8GB or higher, I use 16GB comfortably)
  • 1 Ethernet cable
  • 1 USB to MicroUSB cable (for powering the Pi)
They do also sell complete kits, which include most of what I list above (and they may offer a better value/convenience than buying components individually, and some kits
come with an SD card that has the OS (Raspbian or other Linux) preinstalled).

For a minimal setup all you need is a USB/MicroUSB cable (for power), an SD card and a network connection (ethernet or wifi).
Hello Richard,
I think after all these suggestions you should have a great idea of how to commence. Let us know if you need further help.
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract