Проект TOFFEE
ГЛАВНАЯДОКУМЕНТАЦИЯОБНОВЛЕНИЕВИДЕОИССЛЕДОВАНИЕСКАЧАТЬСПОНСОРЫконтакт


RESEARCH 》 Building my own CDN - Minify Script files - Update: 23-July-2016

One of the suggestions Google PageSpeed Insights tool suggested for The TOFFEE Project website is to minify the css and java script files (as discussed in my earlier update on 22-July-2016. You can read the same HERE).

Minify Script files: When you read online about minification of your web script files, often they highlight file size savings and thus resulting faster download time and better website performance. This is true to an extent. But these days we get faster networks and the websites are already getting bulky loaded with lots of image files. So saving few kilobytes by minification of these script files sometimes hardly matter. But being myself a systems architect I can see there are other advantages in a systems point of view.

Assume users are accessing your website(s) via Mobile devices and mini-PC hardware platforms. In these cases the CPU and memory resources in these devices are limited. In that case the scripting language interpreters such as Javascript/CSS/HTML (existing within your browsers) will have less preprocessing work to do if the script files are minified. When these interpreters parse a text based script file it needs to skip comments and various white spaces. This causes unwanted CPU overhead. So minified script files are lot more interpreter parser optimized. In other words, if you minify php files, you server (such as your Apache web-server in your hosting site) processing overhead will reduce, if you minify Javascripts, CSS, HTML your client (Browser) processing overhead will reduce.

In the case of C/C++ programs, programmers compile and generate machine readable binary output in offline. This is a passive operation where a developer builds and publishes/releases his compiled binaries. But in the case of script files, the interpreters have to parse these files in real-time and this is a CPU bound operation in real-time. And hence it makes sense to minify the script files.

Here is my Joomla protostar template main css file. As you can see below this is neatly formatted and human readable. But for the reasons discussed above, this needs minification.
joomla original protostar_css template file

To minify the same, I can use various online tools. But there is a risk in using the same sometimes. Since there are various levels of minification one can do. Such as removal of comments, removal of white spaces and as well refinements in code so that it can produce the same browsing experience. Since this file is a very large file I decided to manually minify the same. And I am afraid using online tools as they may introduce any bugs into the same.

So I started manually minify the same in various stages. I can maintain several snapshots (versions of the script file) so that if something goes wrong I can safely roll back to a previous version which is working flawless.
joomla minify protostar_css template file

And here is the screenshot of the original Joomla protostar template css file which is around 7500 lines.
joomla original protostar_css template file number of lines

So I am sure minification of these script files will boost my run-time website performance. As I explained before I am not bothered about the file download time, but instead I want to optimize its real-time rendering performance in a browser. This is my next yet another baby step towards building my own private CDN Network.

Here is my live video log of the same:



Suggested Topics:


Generic CDN


Building my own CDN

💎 TOFFEE-MOCHA new bootable ISO: Download
💎 TOFFEE Data-Center Big picture and Overview: Download PDF


Рекомендуемые темы:

TOFFEE-Mocha WAN Emulation software development - Update: 1-July-2016 ↗
Saturday' 13-Mar-2021
Today I got a feature request from Jonathan Withers. Jonathan is from a company called MultiWave Australia. He said he is able to get the TOFFEE-Mocha Raspberry Pi setup up and with that he is able to emulate geostationary satellite link. But he requested me is there a way to extend the constant packet delay from 40mS to 500mS. So as a part of his request I supported the same in the current ongoing development version of TOFFEE-Mocha.

Optimization of network data (WAN Optimization) at various levels ↗
Saturday' 13-Mar-2021
WAN Network data can be optimized at various levels depending upon the network applications, protocols, topology and use-cases. So the amount of data you can optimize will depend on the strategy you choose to optimize. Such as: Network Packet level optimization, Session level optimization, File level optimization, etc.

Building my own CDN - choosing a web-hosting to deploy my CDN - Update: 28-July-2016 ↗
Saturday' 13-Mar-2021
The TOFFEE Project website is hosted on Inmotion Hosting. And so I am looking for alternate hosting provider to build my first CDN node. My plan is to make multiple sub-domains of my website such as cdn1.the-toffee-project.org, cdn2.the-toffee-project.org and point each of this corresponding subdomain(s) to various alternative web hosting servers geographically spread across the world. Sometimes choosing the same vendor for multiple CDN nodes may result multiple servers existing in the data-center. And this becomes an issue if there is some catastrophic network disaster.

TOFFEE-DataCenter - First Live Demo and software development - Update: 26-Aug-2016 ↗
Saturday' 13-Mar-2021
Today I have done a test setup so that I can able to connect my Android Samsung Tab via TOFFEE DataCenter. Below is my complete test topology of my setup. For demo (and research/development) context I configured TOFFEE DataCenter in engineering debug mode. So I do not need two devices for this purpose.

TOFFEE (and TOFFEE-DataCenter) optimized Wireless Mesh-Networks - B.A.T.M.A.N [open-mesh.org (Open Mesh)] ↗
Saturday' 13-Mar-2021
TOFFEE/TOFFEE-DataCenter can be used to optimize Ad-Hoc Mobile Wireless Mesh-Networks. To learn more about the same here are some references: B.A.T.M.A.N. - https://en.wikipedia.org/wiki/B.A.T.M.A.N. Mobile ad hoc network (MANET) - https://en.wikipedia.org/wiki/Mobile_ad_hoc_network Wireless ad hoc network (WANET) - https://en.wikipedia.org/wiki/Wireless_ad_hoc_network open-mesh.org (Open Mesh) Wiki - https://www.open-mesh.org/projects/open-mesh/wiki

Building my own CDN - Moving away from Joomla to non-Joomla website - Update: 01-Oct-2016 ↗
Saturday' 13-Mar-2021
Seems there are couple of Inmotionhosting servers are down. And one of the server includes The TOFFEE Project website hosted server. I was in touch with the Inmotionhosting team trying to resolve the same. I found a unique issue that all my website files are intact and the Joomla database. But the Joomla database tables are completely wiped out and missing. Besides there is also a sort of upgrade going on in their servers. Luckily I have the most recent backup of the entire website.



YouTube Video Network Traffic Optimization - WAN Optimization Demo ↗
Saturday' 13-Mar-2021

TOFFEE-DataCenter Live Demo with Clash of Clans game data - 30-Aug-2016 ↗
Saturday' 13-Mar-2021
Today I have done a test setup so that I can able to connect my Android Samsung Tab via TOFFEE DataCenter. Below is my complete test topology of my setup. For demo (and research/development) context I configured TOFFEE DataCenter in engineering debug mode. So that I do not need two devices for this purpose.

TOFFEE-Mocha Documentation :: TOFFEE-Mocha-1.0.32-1-x86_64 and TOFFEE-Mocha-1.0.32-1-i386 ↗
Saturday' 13-Mar-2021

TOFFEE-Mocha WAN Emulation software development - Update: 15-July-2016 ↗
Saturday' 13-Mar-2021
Today I completed doing all the changes which are meant for the new upcoming TOFFEE-Mocha release. I have increased the resolution and the range of all factor variables. Instead 1 to 10 range now they have a range of 1 to 30. Unlike before the value 1 means it is lot more intense (or in some cases less intense) and the uppermost value 30 means lot less intense (or in some cases lot intense).



Featured Educational Video:
Watch on Youtube - [1836//1] x257 tp-link UE300 Linux Kernel Realtek Driver Codewalk rtl8153a-3 r8152 USB 3.0 to Gigabit - Part1 ↗

Recording Lab Monthly power-consumption readings for Research ↗
Saturday' 13-Mar-2021
Here is my home lab monthly power-consumption readings for research. This will help to measure and monitor the overall power usage and assess the power requirements. This will help me in future purchases such as UPS, battery upgrades and so on. And as well remove replace old obsolete hardware with new less power-consuming devices.

TOFFEE-DataCenter - First Live Demo and software development - Update: 26-Aug-2016 ↗
Saturday' 13-Mar-2021
Today I have done a test setup so that I can able to connect my Android Samsung Tab via TOFFEE DataCenter. Below is my complete test topology of my setup. For demo (and research/development) context I configured TOFFEE DataCenter in engineering debug mode. So I do not need two devices for this purpose.

TOFFEE-Mocha WAN Emulator Jitter Feature ↗
Saturday' 13-Mar-2021

TOFFEE (and TOFFEE-DataCenter) deployment in Large Infrastructure and or ISP Networks ↗
Saturday' 13-Mar-2021
Large Infrastructure or ISP setup: In case if you are an ISP and interested in deploying a large customer WAN Optimized network or an add-on enhanced (WAN Optimized) network for select few customers, then you can deploy something as shown below. Although this case is not meant for hobby/DIY users. This is a feasible solution for high-end professional application and the same can be deployed.



Watch on Youtube - [1888//1] Deep Space Communication - Episode1 - Introduction ↗

Raspberry Pi as a Networking Device ↗
Saturday' 13-Mar-2021
Raspberry Pi is often used as a single board computer for applications such as IoT, hobby projects, DIY, education aid, research and prototyping device. But apart from these applications Raspberry Pi can be used for real-world applications such as in making a full-fledged networking devices. Raspberry Pi is a single board ARM based hardware which is why it is also classified as ARM based SoC. Since it is ARM based it is highly efficient, tiny form-factor and lower in power consumption with moderate computational power. This will allow it to work several hours on emergency battery backup power supply such as low-cost domestic UPS and or some renewable energy source, which is a prerequisite for a typical networking device.



Research :: Optimization of network data (WAN Optimization) at various levels:
Network File level network data WAN Optimization


Learn Linux Systems Software and Kernel Programming:
Linux, Kernel, Networking and Systems-Software online classes [CDN]


Hardware Compression and Decompression Accelerator Cards:
TOFFEE Architecture with Compression and Decompression Accelerator Card [CDN]


TOFFEE-DataCenter on a Dell Server - Intel Xeon E5645 CPU:
TOFFEE-DataCenter screenshots on a Dual CPU - Intel(R) Xeon(R) CPU E5645 @ 2.40GHz - Dell Server