- What is your project? What are you doing?
My project is rewriting and designing ScratchDB, a system I created for analytics for a programming website by MIT. This system allows for searching users, projects, and posts, and also provides rankings for everything. I am working on designing a newer, faster version that replaces my currently nearly 2-3 year old design.
- What is your topic and thesis, or theme and message?
My theme is one of learning, this project uses multiple new technologies and programming languages I have never used, partially because they’re the best for the job, and also because learning new things would be helpful in a future career.
- who is your audience and purpose?
- What challenges?
The biggest challenge is finding time to learn and write. For a project of this scale, I can’t exactly just sit down for 25 minutes and write some code or do some designing, I need a period of a few hours to actually get work done, since I need to work through something all at once and test it, rather than write a small portion one piece at a time.
- what surprises?
How little time I have to work on it. Surprisingly, my other classes have picked up in their work load and I have lost most of my long periods of time to do work. Another surprise is how much technology has evolved already since I last did my project. Since then, a new programming language has taken the helm for server-side development and Redis now has their own searching system, replacing the decades-old ElasticSearch in some cases (and likely in my case)
- What stage are you in now?
I am currently starting to write the system. I’ve designed how I am going to structure the databases and communications between systems. Some design happens as I write, but the parts that determine the main “structure” are complete.
How does this help?
Programming isn’t often a presented topic, it tends to be the data from programming. So, this task really puts into perspective what I need to do for my project and my presentation. On its own, I have very little to show for a project, but when it comes to the process of learning, I have a decent amount of discussion. So likely, a portion of my presentation will be the “process of learning” for designing a program of this scale.