I am Jiju Thomas Mathew

Jiju Thomas Mathew

About me

Started using Linux in 1996 with the first version got through PCQuest Magazine later on from the same publication got a Fedora Linux CD and switched primary OS to it.

From there it was a long way through trying times 1997 in UAE with AL Fajr Publishing and pink pages, where I attempted scripting for the first time by integrating MS Access using VBA scripting to export client details from billing data into Quark Express by generating Quark Express script using VBA on Microsoft Windows and running the same in Quark Express on Power Mac.

Then running own small business support with DTP and other activities till 2000 when I got connected with two other entrepreneurs who wanted me to join them as a web host management consultant. I had established as a Linux core user in the local environment with small talks about kernel compiling and the sort. Also switching local internet browsing centers from Windows and cracked spoon proxy to Linux and squid was my major hobby at that time.

From year 2000 I started exploring php with my very first project a web site for “Honda CBZ” Bike users with all kinds of facilities like ride organization and members could select colors which will show a bike with their selected color in their profile. The database was MySQL 3.23 With no transaction support. Well with some inspiration from one of my associates, the Innodb plugin was pickedup and compiled to enable transactional support into MySQL version being used.

Once the system was up and running, in about a week I got the first blow. My Server got hacked with some kiddies using the server for transferring 3G of data some movie files or game CD and that is where I started digging into securing web applications. From then on most of the applications which I had reviewed or built directly was made sure to have no open holes and always go with php url fopen and remote include restricted.

Year 2006 we had established as Saturn Systemwares Private Limited and moved into Trivandrum Technopark with some support from external investors. Till 2009 it was just php, MySQL and wordpress customizations. I was in charge of the code review, infrastructure architecture etc. We already had a dedicated team for UI design, integration and the sort along with a highly qualified team for QA also. But I was still into code optimization and site security along with a challenge which I tookup. Integrating Flight Booking system into a white labelled dynamic portal powered by WordPress. In this application I had implemented headless php scripts and since I was mostly on linux and the console application provided by GDS was only windows based, first thing I did was to build a console application in PHP for the use in Linux terminal.

While developing the Flight Ticketing system the final ticketing confirmation required around 50 communication to the API with local processing after each of the API responses and these communications happening cross border from our hosted server in CTRL-S to GDS servers in US was causing delays and sometimes failing also. So I made a solution by leasing a small server in the US to act as an intermediate broker and our hosted server in Mumbai would upload a gzipped payload to the broker in US which would handle the api calls and send an http request back to the Mumbai Server on specific ports. This drastically improved the performance and reduced failure rates.

In year 2009 the above process was shifted into AWS SQS when it was announced GA. Though we had to retain the Server in US, shifting to AWS SQS reduced our data transfer charges and effectively improved the performance also. Thus I started to explore the AWS in 2009 November.

Just out of personal interest I created a PHP routing framework during December 2009 and without testing it thoroughly I did not want to open it up and be mocked upon. So it went with a couple of projects of Saturn System Wares where generalized frameworks could not be used. This framework was made open source in 2020 and initial version committed to GitHub.

phpmf

In a nutshell the framework is fully in MF.php 282 lines (261 loc) · 9.71 KB and is extensible with addons and plugins as well as event hooks. The examples also has a cloudformation template to deploy any CRUD application as AWS Lambda using third party maintained php binary layer and php aws sdk also.

Owner avatar

code-collection

AWS/Cloud Watch UAPI xml logger

TravelPort UAPI Travelport Universal API offers an array of travel content for air, hotel, car, and rail, including ancillaries (optional services). It also provides functionality to build complete traveler, agency, branch, and account profiles.

TravelPort-Ukrane uapi-json Best Travelport Universal API wrapper ever, needed some extra features like xml logging (Issue:391). This provides a solution to the same as suggested.
Guidelines

Create the Cloud Watch Log Group and provide through environment variable (cwLogGroup) or constant in code line 12 value for logGroupName. AWS_LAMBDA_LOG_STREAM_NAME is a Runtime Reserved Environment Variable, require this library and set the entry point as logFunction property of options property of settings object as specified here.
Node/API Key Generator
Introduction

Javascript API Credentials were a port from a site when needed for a project to be used in the front end. Now the same functionality is needed on a serverless project and just some mods to adapt it to the node.js environment. I am aware of other generators like those which use the crypto module as in this Secure random token in Node.js which explains the use as

require(‘crypto’).randomBytes(48, function(err, buffer) {
var token = buffer.toString(‘hex’);
});

Guidelines

Nothing much than just require the module, and invoke the functions.
Functions

.access_key()
.secret_key()
.any_key(int length, [] chars)

.access_key

A preset function which generates random string from uppercase alphabets and has a size of 20 characters, to simulate the AWS_ACCESS_KEY_ID, though is not any way related to AWS.

.secret_key()

A preset function which generates random string from alphanumerals along with some special characters and has a size of 40 characters, to simulate the AWS_SECRET_ACCESS_KEY, though is not any way related to AWS.

.any_key(int length, [] chars)

This method provides the most flexibilty that one should specify the char list as array and length as a rounded number. The generated string will be of the said length and uses random chars from supplied list.

AWS/SNS to CloudWatch log

Nothing much, an SNS Payload with solid subject and string message is expected which will be consoled by this lambda.
Postman to NodeJS Code Generator

Generate code abstraction by reading the postman export. Any rest api can be abstracted to node.js code module using this code writer.
gTerm
gterm – a console app in php to learn and test Travelport Galileo GDS Terminal Commands. The demo on youtube is embedded above.

Text Editor

A web based text editor with regular expression find and replace and constant character count display as I needed it

QR Generator

This QR code generator allows you to seamlessly create QR codes for:

Text: Embed any message, from greetings to product descriptions, directly into your QR code.
URLs: Share website links or online resources effortlessly by converting them into scannable QR codes.
WhatsApp Direct Chats: For phone numbers with 12-14 digits, instantly generate a QR code that opens a direct chat on WhatsApp – no need to save the contact first!

Dial Clock

Honing and brushing up my skills in DevOps and automation this html css sprite based dial clock aprite images and corresponding css was created using scripting and command line tools image magic and ffmpeg. Read more about the actions on the project page.

Linkedin

Linkedin profile page and a follow me on linkedin is here.

This Website

Basically powered by Word Press running in 4 docker containers on my Laptop and started by alias command startall from a terminal window. WordPress uses only three containers Nginx, PHP-FPM, MariaDB and the fourth container is Jenkins which has few projects of which one is hooked to wordpress publishe action and a shell script using wget in mirror mode and few other actions are triggered along with the wordpress publish action, which converts the whole site to static html and does rewrite on the files using grep and sed to change www.jijutm.com to https://www.jijutm.com and finally does a sync to AWS S3. Finishing it all by issuing an invalidate command to the corresponding AWS Cloud Formation. Thereby effectively enjoying the WordPress flexibility and peace of mind having only a static html website wich is delivered through cloud front CDN. Low hosting charges, Better Performance, No fear of getting hacked or any other malware.