<-

Building it from Scratch


So you want to build it from scratch? This will be something that has a viable alternative already in the marketplace. Do you really want to do that?

From experience, reinventing the wheel can be an exercise with little value, or it can be a process that provides many additional benefits that make it worth the significant amount of required time to do so. As a rule of thumb, unless it's determined beforehand the reasoning and objective behind needing to build something with a viable market alternative that already exists, you should not do this. If there is no reason, you can build at your own pace for your own enjoyment, but it will never be a viable alternative without a clear objective and reason at the start.

In the case of this website, there were many viable alternative models available. Why not use one? To me, it became a question of what can't you do with something that exists? There are already publishing platforms that allow you do do SEO, blogging, photo-publishing, data-sharing, and more. But do any of these systems do it correctly? I thought to myself, "no". So I decided to build the starting point to a system of the future, one that does all of these things that people want in a platform model that is built to scale and compete. Trust me, creating a system that does everything that needs to be done... the problems almost never end at the start of making everything function correctly. Certain parts are easy, but reinventing new ways to perform old processes can be time consuming and there are no ways to escape the next problem. Each one must be ironed out as they arise.

You can anticipate certain problems, but others will need to be discovered as they become discoverable. What does that mean? A problem that's discoverable? It means that most problems in complex systems are only anticipated broadly, while the problems that occur tend to only be known once they arise. Some system components can be installed and built to handle these errors, but most of them only are discoverable through putting the first, second, and each subsequent version into play. When an issue is discovered a testament to the original system design will either make those discovered problems able to be fixed, or not. In the publishing system I've recently finished, many generations of smaller systems had to be built first before all of the required starting problems were known to make the ones that were not yet known possible to iron out with the original system design.

So here we are. A publishing system that does most things well, operating on a fairly low-resourced machine. You should see how fast it is running locally with the proper amount of system resources like disk I/O, ram, CPU, etc. But it had to work on systems that had more or less "no resources".