Wolfram Computation Meets Knowledge

Wolfram Summer School

Alumni

Alastair Paragas

Summer School

Class of 2015

Bio

Alastair Paragas is a computer science major at Florida International University. Though he is a full-stack developer, he mainly specializes in web development and hybrid mobile app development with JavaScript, PHP, HTML, and CSS. He is also accustomed to the AngularJS and Laravel frameworks, the SASS preprocessor for CSS, Bootstrap front-end framework, and Cordova WebView with Ionic or Famo.us for hybrid mobile app development. Some of the open-source projects he has made can be found on Github.

Project: Cublet

There is always a barrier to starting a journey to the road of programming. With the Wolfram Language, what better way to start than in a language that contains explosive datasets? The only problem is, there is a barrier to learning such a language—particularly, in its depth.

Cublet allows users to play with a friendly subset of the Wolfram Language (though users can play with more advanced functions of the language, should they want to) in an intuitive way. Users can share their creations with others across various forms of social media. In a sense, imagine combining the power of Wolfram technologies with the community ecosystem of GitHub, where like-minded individuals can share and contribute to each other’s contributions, and the introductory primer and atmosphere that Scratch provides.

On the technology stack, the process of compiling Wolfram Language from the browser (using the HTML5 Canvas—built with the Create.js JavaScript library environment) is done by sending the Wolfram Language code to a Wolfram Cloud API that uses an interpreting APIFunction. The APIFunction-powered API returns three possible formats—data URIs, PNGs, and the Wolfram Computable Document Format (CDF), allowing for a rich and life-like user experience.

The Cublet ecosystem is powered by Node.js with a MongoDB database (allowing for a schema-less data storage structure). Powered by the Google and Facebook OAuth API, users can log in with their Facebook or Google accounts as well as conventional email/password logins. The back-end API server only returns JSON (a lighter format than XML), allowing Cublet to have multiple interfaces, from a web app to a mobile app. The web app and back-end server were developed during the duration of the Summer School.