Getting ready for the school year, time has been tight between Gabe and me. We didn't work on the project for a little bit, but we've recently started up again. From my end, like usual, has come styling and page design. The past few days, I've been specifically doing the admin side of the site. As far as Gabe's work, most of it continues to stem from the backend. There is quite a bit of databasing to be done, and many things (e.g. issue delimination, extraneous HTML tags, etc.) still need to be figured out.
Gabe and I both plan to continue this project in the fall semester.
cDashboard startup speed has been cut by an exponentially high margin. (In English:) The higher cStopwatch goes the slower the application would startup. Due to the way font sizing within labels is currently implemented, it still is sort of exponential, but at such a slow rate that I wouldn't be worried about elapsed hours up until at least 9999. It should work just fine after that too. I did this by changing the amount font size changes during every check from .0001F to .1F. Sort of a 1000x difference if you think about it.
This does come at a small accuracy cost, however with various cStopwatch times including my current 400+ hours, I couldn't notice the difference, so all is good. It really wasn't worth having the startup slow over this, or even sending it to another thread.
The faster we go, the harder it is to see. (I don't really know if that reference makes sense to anyone but me, but that's okay.)
Recently, I returned to working on media uploads, beginning with article photos. In an effort to make media uploads extendable, the database is seeded with multiple media types. So far, I've added media types for photos and XML files. Photos will be linked to articles on both the front page and on the article view page. XML uploads will be available for uploading and parsing entire articles. Any future media types will be easily added using this system, as opposed to creating an upload procedure for each new media type.
I found a few significant bugs over the last few days. The two big ones were my failure to convert units (which, if done properly, leads to over 4,000 times stronger friction than I had) and my confusion of ctx->timestep with st->step. I had needed timestep to determine where particles were last before they moved to their current positions so I could see if they went through any caustic rings. But since I used step (which records the number of times the simulation has moved a little forward, and gets big pretty fast), the "old positions" I was calculating very quickly became extremely far away and the angle the particles were perceived to travel through the caustic ring became relatively constant. And since the strength of friction is extremely dependent on the angle... well, that led to issues with dynamical friction too. Since then I've also switched over to a much better method of determining where the particle crossed the caustic so as to refine the angle even further. As an extra bonus, the new method makes it easy to calculate multiple passes through a caustic ring that happen during the same time step. The dynamical friction code can now be found in my github under "milkywayathome" since it's easier at the moment to do dynamical friction with milkyway@home. If you want to run the code yourself, you will need to clone the milkywayathome repository and put my milkywayathome files into the milkywayathome nbody/src subdirectory. And make sure to run it with nbody_cl off in the cmake options since I only rigged it to work for nbody_plain. I'm running fixed simulations right now, but I'm also about to do some testing on my angle calculations separately to make sure I fixed everything.
cWeather is a thing. It can get weather for a location, zip, city (comma) state. Or if you really don't know where you are, you can get location by IP. It is really cool. It auto updates every 2 hours. The user can also force an update whenever they want. It uses the Wunderground.com API.