Skip to main content

DPS909 - Lab 1 - Github Trending Research: WebGL Fluid Simulator

The WebGL Fluid Simulator is a small application that allows the user to play with simulated fluids right in their browser, and works on both PCs and mobile devices. The visual effects follow proper fluid dynamics, and can be manipulated in real time by pointing and click, as well as several available options such as quality, density, and velocity.  The app is written in JavaScript, and as the name suggests, visually renders its effects using WebGL. It was created by Github user PavelDoGreat based off another Github project: Fluids-2D, and is distributed under the MIT license. As of September 8th, 2019, WebGL Fluid Simulator is trending with 2,307 stars during the month, and 6,070 stars in total.

Main interface of WebGL Fluid Simulator by Github user PavelDoGreat

I was interested in investigating this project as it demonstrates the breadth of open source resources on Github. Users can find projects that range from complex systems and APIs, to small plug-ins and simple applications. Since the creator distributed the project under the MIT License, the Fluid Simulator project respects the knowledge-sharing model of open source softwares. If one wished, they can copy, utilize, alter, and re-distribute the source code of Fluid Simulator into their own works, provided that the licensing and disclaimer text is preserved. For example, one could investigate the Javascript files in the Fluid Simulator project to find the implementation for fluid physics, and use that in something of their own creation (such as a computer game engine).

It is in the spirit of open source to both give and take. Hopefully, those interested enough in PavelDoGreat's Fluid Simulator will contribute back to the project by helping to address some of the ongoing issues, of which there are currently 11 (for example, there is currently a bug that prevents multi-touch capabilities when Fluid Simulator is run in Firefox). Additionally, one may choose to "spin off" the project by forking the repository onto their own Github account, and taking the project in a whole new direction. Given the high amount of stars this project has received, perhaps in the future we may see some forks of Fluid Simulator taking on some fame of their own.

Resources:

Popular posts from this blog

DPS 909 - Lab 3 - Hacktoberfest, and the Very Scary Repository

It's that time of year; the mornings are getting chilly, the leaves are turning, the pumpkin spice is flowing, and open source developers are getting all worked up over something called Hacktoberfest . Not to be confused with the other , similar-sounding (though arguably no less beer-filled) celebration, Hacktoberfest is a chance for open source enthusiast to truly flex their projects and contributions. Hosted by DigitalOcean , Hacktoberfest 2019 is an event running throughout the month of October that encourages activity in the open source community. It is completely free to sign up, and participants can even link their Github accounts to use as their Hacktoberfest profiles. As you may have already guessed, I will be participating in this event as my next major milestone on my journey into the world of open source. Through the miracle of APIs, even my profile picture was imported! While the prospect of diving headfirst into such a large, open source event as a beginner may s...

DPS 909 - Release 0.2 - Hacktoberfest Week 4

It's the home stretch for Hacktober fest! For my final contribution, I decided to tackle my last goal , which was simply to do something fun and interesting. Once again, thanks to GitHub user vichitr and his brilliant project , I was able to quickly find something to contribute. I've always thought that programming algorithms was a good challenge and invited great learning experiences, so for my final PR, I decided to program an example of the sliding window technique in Python. The sliding window technique is a very useful algorithm that is used across many disciplines of software design. It allows users to compare subsets of data (i.e. windows) within a larger collection, in order to find significant items. Personally, I have encountered the sliding window technique during some applied research projects that I have tackled in the past. In a particular machine learning project, I used the sliding window technique to construct subsets of data that were then fed into a separa...