RIP TRACKTALK


#1

It brings me great sadness to make this post but the saying is indeed true that all good things must come to an end sometime. The website pointing to http://www.tracktalk.net met an abrupt and very unexpected death ~13 days ago as our database corrupted during a routine upgrade in preparation for a HTTP to HTTPS certificate upgrade.

The installation at http://www.tracktalk.net is survived by the most advanced running discussion stack on the internet through its new secured https:// server. Previously, http://www.tracktalk.net handled a SHA-2 encrypted connection internally.


Secured HTTPS Configuration:


TrackTalk Software Glossary & Diagrams:

Top-to-bottom hierarchical view

Software Basic Function

 Ubuntu
v18.04
Ubuntu is a free and open-source operating system and Linux distribution based on the legacy Linux Debian image.

This is the operating system TrackTalk lives on.

 Docker
v18.06
Docker is a multi-functional deployment automation tool. It takes in a set of specifications and configures the application as it were on a different machine and even sets up on different operating systems than the original.

The specifications for TrackTalk are downloaded, installed and deployed by Docker.

 Ruby
v2.5.1
Ruby is an object-oriented programming language and it is the parent programming language used for the Ruby on Rails open-source web-framework.

 Rails
v5.2.0
Rails, or Ruby on Rails, is a web-framework package for the Ruby programming language.

The Rails framework in this application is responsible communicating with the Postgres Database via ActiveRecord and rendering both main pages and reusable .json formats for EmberJS to use.

 Puma
v3.12.0
Puma is a concurrent background process for the Ruby programming language.


At TrackTalk, every time information populates the page it is the result of multiple pumas designated specifically to your user requests and site interactions (logins, clicks, scrolls, etc).

 Postgres
v10.4.2
Postgres is an open-source relational database management system that stores information on disk.


At TrackTalk there are approximately 110 core tables of information and in total 466 tables including slaves and table replications.

 Redis
v4.0.11
Redis is a data structures server with some relational database database capacity but its primary function is to store temporary data in key-value pairs. There are two contemporary use cases for Redis: (1) temporary database storage and (2) information caching.



At TrackTalk redis stores short term information accessible to your browser only without physically saving anything to disk. Redis flushes said information 1 to 30 day cycles depending on user-by-user visiting trends.


 EmberJS
v2.13.3
EmberJS is a comprehensive client-side Javascript MVC framework that is used to encapsulate relational data from the server and later inject it back into the browser.
 
Handlebars
v4.0.5
Handlerbars is a templating language that connects with the modular data-mapping presented through the Ember configurations and renders Ember data on the page.

JavaScript Libraries
TrackTalk uses popular open-source internet packages such as:

  •  > jQuery: Major backbone of the modern internet
  •  > Moment.js: "Posted Today at..."
  •  > Modernizr.js: Meta-data for browser specific compatibility and rendering
.

TrackTalk Web Application Diagrams:


Here are a few diagrams that might be useful to help understand how it all works and what might happen in the case that something doesn’t work (i.e. an HTTP error).

TrackTalk ad-hoc Diagaram 1: The Container Level with upgrade notes

Ubuntu 18.04 Operating System
 > Docker Container - TrackTalk  Web Application                
   ______________________________________        // Upgrade from HTTP to HTTPS At-Large Notes
   |      > Ruby on Rails               |        // Forced upgrades: Puma, # of Ruby on Rails microservices
   |      > CSS/Javascript Assets       |        // Forced upgrades: EmberJS refactors and updates at rigorous pace
   |      > Postgres Database           |        // Forced upgrades: Postgres upgrade failed corrupting database
   |      > Static Files                |        // Long transfer times from machine to machine
   |____________________________________|

// DETAILED NOTES
// Standard Upgrade: Linux 17.04 to 18.04 -- unnoticeable
// Standard Upgrade: Docker refresh -- unnoticeable
// Standard Upgrade: Postgres -- failed and corrupted
// Postgres Repair : Next to impossible from raw data_directory files -- quite hard
// Server Transfers: Long processes all around to new physical machine
// Standard Upgrade: Ruby on Rails -- mild
// Forced Upgrades : Ruby on Rails site packages -- hard
// Forced Upgrade  : Puma configurations quite sensitive over HTTPS
// Forced Upgrade  : EmberJS rendering engine changes are always quite drastic
// More downtime   : Traditionally it takes a couple days for browsers to recognize a new machine pointing at a domain 

TrackTalk ad-hoc Diagaram 2: The Flow of Information

User Computer Requests                   Web Server (computer) set up by Docker
________________                         ________________                               
|    Devices    |                       |  .json        |                                                                   
|    Chrome     |                -> r-c>|  JS           |                                                                             
|    Firefox    | <H<E<- puma(s) ->    >|  RoR          |                              
|    Safari     |                ->json>|  RDB          |                                    
|    IE         |                -> r-c>|  /images      |                                               
|_______________|                       |_______________|            

TrackTalk ad-hoc Diagaram 3: Legend of the HTTPS Puma

Sample Run 1 Rendering a single post


Sample Run 2 User scrolling through multiple posts


About Upgrades:


Users might ponder at the following -

Question: Upgrades seem painful so why do we need to upgrade?
Answer: We are so plugged into the modern conventions and cutting edge standards that we will be effected by at-large changes to the internet. The push for HTTP to HTTPS secured encrypted connections was one of them and its upgrades were somewhat forced. Previously, http://www.tracktalk.net handled the secured encryption internally without issue.

An opinion:

Google in a very extortion-based method of marketing used its influence with the Chrome browser to meet other goals on its agenda by placing the “Not-Secure” note in the browser. While many site owners initially ignored it – I suggest sampling the runner web – many services integrated with websites (i.e. facebook SSO logins, etc.) are also forced to upgrade so the upgrading process tirckles down to sites like TrackTalk.net. For some sites like this one the upgrade also ensured a hefty purchase for its site owner.

Below is an excellent window in to how the security market has always operated and you can take its lesson with you into the real world:

It is rumored that the main character and motivation behind this scene is based on James McAfee in the mid-1980s in the early days of McAfee Anti-Virus.

Not an opinion:

The trade off for staying on the cutting edge of technology is in the functionality of the overall site, its guaranteed re-usability in the future and the overall up-time. Also the mobile browsing experience should be quite good and pretty consistent across all devices.


Performance related improvements:

  • main page and forum listings cut down by to 1/6 of the time it took
  • post stream overhaul --> completely enhanced and cut down load times tenfold

User experience improvements:

Due to the increase in performance of post loading we are now well under the standard load. If the improvements are somewhat unnoticeable that is a good sign.On standard connections 10 posts loading into the stream takes an average of 627ms.

Notes:

  • rebooted vBulletin-like reputation system
    • based on algorithm using likes, post views, etc.
    • consuming db query will imperfectly inject user/rep information in posts late on slower connections but will not slow the actual post
      • image will show faster from redis
  • rebooted post vBulletin-like post templates
  • loading times allows for more things to be loaded in
  • default user profile backgrounds
  • misc subtle styling changes that should go unnoticed unless looking for them

Behind the scenes improvements:


Sample of popular running websites and HTTP vs HTTPS:

:lock: Secured

2018-09-20_153802
2018-09-20_153703
2018-09-20_153736
2018-09-20_153958
2018-09-20_154155
2018-09-20_154030
2018-09-20_154014

:x: Unsecured

2018-09-20_153526
2018-09-20_153638
2018-09-20_153612
2018-09-20_153715
2018-09-20_154442
2018-09-20_154508


RIP HTTP://TRACKTALK.NET


What Happened to TT?
New To the Spike Forum? Read First!