2

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?

gnat
  • 21,442
  • 29
  • 112
  • 288
Jens
  • 39
  • 6
  • timday's answer further below is an example how my question can be answered, so I do not think it should be put on hold. – Jens Apr 17 '16 at 13:08

1 Answers1

1

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).

timday
  • 2,502
  • 1
  • 18
  • 17
  • Ad i) Will look into the Amazon EC2. Ad ii) The interface should be more sophisticated than a mere CAS notebook, but of course, in the background, there will be such a notebook. Ad iii) Bokeh looks interesting, will take a look at it. Ad iv) I will have a real project, this one will just be for fun. I have some background in webdeveloping, but never anything this scale. – Jens Apr 09 '16 at 15:56