Question

I am a theoretical physicist starting my Ph.D. shortly. As a side project, I would like to create a scientific computing website in the field of General Relativity. It should be an interactive database that allows one to explore various exact solutions of the Einstein equations.

I have some background in web developing, and I know a fair amount of PHP -- but I sense that this project is too big to code everything from scratch. Right now I am in the process of planning the roadmap. So far I have:

  • a small Linux webserver ($20 a month or so) will be the basis
  • Gunicorn as a WSGI
  • use Django as web framework
  • use NumPy and SciPy for computations; Matplotlib for vislualization; MathJax for displaying formulae

I don't expect this website to have more than a dozen visits each day, so performance is not an issue. So here is my question: is there any obvious point in the above roadmap that I am missing?

Was it helpful?

Solution

Just a few thoughts:

  • $20/month seems excessive for a site with a handful of visits a day. If you've not used Amazon's EC2 before, take a look at the "micro" instances. You can get a year's "free tier" use for virtually nothing, and then if things are working out, paying for three years upfront (for a "reserved instance") works out more like around $6-$7/month from what I remember.

  • Depending what you're trying to achieve, would simply cooking up your material as an ipython notebook and hosting it online via nbviewer be an option? To some extent, your "roadmap" will just have you building up a lot of stuff nbviewer provides with zero effort. (But if the objective is to learn that sort of web stuff, fine).

  • I'm an enthusiastic user of matplotlib myself and it's great for plots for static presentations and papers... but for online webby stuff I find myself looking enviously at D3.js (or Bokeh seems to be an attempt to do a python equivalent).

  • You say you're starting a PhD. Beware of disappearing down tech "rabbit holes" which don't advance you towards the goal of submitting your thesis. Learning numpy/scipy/matplotlib may well be valuable tools for GR research (assuming that's your topic). But Gunicorn and Django probably not so much (another reason ipython notebooks and nbviewer might be a simpler route).

Licensed under: CC-BY-SA with attribution
scroll top