I find problems!

I find problems – that’s what I have been doing – and I fix them – that’s also something that I have been doing.

If I can’t find a problem in something, then I can’t give suggestion to fix it – and I feel disappointed with myself.So, it’s not you, it’s me – I have the urge to identify problems in almost everything, and I try to push myself and others in fixing those problems.

Almost everything that you would share with me would have “some” scope of improvement, and my initial/knee-jerk reaction would be to identify the problem and share the solution.

Don’t be mad/sad about that – that’s just the way I am – I am pretty sure I am not so proud of myself here, but I believe this is important for the sake of improvement in our lives.

The day I stop complaining/giving-suggestions/finding-problems – that’s the day either I am dead, you are a perfectionist or I don’t care…

Tee3 | Tips, Tricks and Technologies

I have been into web development from 2 decades (starting with static HTML websites back in 2001), and moving up the ladder by learning/implementing Photoshop/graphic design for 5 years, and from 2006 onward professional PHP (and related tech-stack) based development.

Seeing people struggling with basic know-how of core programming and related skills and ending up with confusion, lack of confidence, being less efficient/productive, filled with anxiety and stress etc, is a difficult thing to watch, and I see it(almost daily) and intend to help these young developers (and some experienced/seasoned ones as well) to do things faster than they are doing now, by teaching the tips, tricks and technologies that would help them do things in (may be) 2 years what I was able to do in, say, 5 (or more).

I speak often at devTalks (local meet-up group) where we talk/deliver-session about various topics from different layers of technologies : server, client, DevOps, DB, upcoming technologies etc and during the lock-down we conducted a lot of online sessions (open and free for all) helping people who are at home (and/or working-from-home) and continue to help a lot of young and mature developers alike, and I would want to focus on some specific sections (from the tech-stack that I know) that I believe will make things much easier/better for most of the developers.

If I were to start a course tomorrow, the title would be:
How Docker could put your career on a fast track

Class project (after/during the course):
Deploy a CI/CD pipeline on GCP Cloud Run using bespoke docker images created after learning Docker and related tech-stack(from the course) and using available services – for PHP and Nodejs.

Some key lessons to be included:
– The Why and What of Docker in brief : The introduction (~2 mins)
– Installation instructions (Ubuntu only, other OS instructions linked/referred) : docker, docker-compose, git (optional), hub.docker.com account (to push images to docker hub, to be used during CI/CD setups) (~5 mins)
– Docker images and containers “What are those?” : Names and tags, local images, pull-from/push-to docker hub, difference and similarity, context
– Build docker images : How to build from official/base versions, create your own images, why the need to create custom images
– Docker containers (details yet to be listed)
– “docker-compose” : Services, networks, volumes and containers. Using CLI and VS Code (non-CLI)

I might need following tools (already with me, or need to update/install):
Equipment : Smart phone, DSLR camera, silent space, lights.
Software : Screen recording tools, PhpStorm (and inbuilt tools), OBS studio (multi window/source management, streaming/recording) etc

Some of the links (from gist.github.com/jdecode) related to Docker/docker-compose:
– Dockerfile for PHP 8.0 RC2 with MySQL and Postgres support: https://gist.github.com/jdecode/77b554ba217c5dfcf5f78f89260c8561
– Setting up Dockerfile and docker-compose for a CakePHP project : https://gist.github.com/jdecode/f25b66b8993d5ca32c4a25353e9f2ec9
– Steps to run Docker project (similar to the above link, but different and important – uses MySQL): https://gist.github.com/jdecode/b2754547a461f289493df38a51776524
– Screenshots accommodating the content of the course : https://gist.github.com/jdecode/3dd9a6edd6c0411756681c0035b76c41

Do-able actions for CakePHP!

Documenting my comment here just in case discourse/cakephp threads have a “change of heart” (i.e. their servers crash)




We are a small group of volunteer developers contributing to the framework for free in our spare time, there’s only so much we can do.

This has to change, the “there’s only so much we can do” part.
Following things need to happen:
– Rewrite the entire documentation to allow faster learning/implementation (remember, 90% of the fresh audience of CakePHP would leave the framework if the documentation is either too less, too tricky, too detailed and, in case of CakePHP, too much “advanced-focused” – compare with “setup and basic-setup” with Laravel)
– Community leaders (like yourself, Mark Story and other awesome people out there) have to take the ownership of owning CakePHP (count me in)
– Go to youtube and search for “CakePHP tutorials” and then “Laravel tutorials” (the single reason why almost cent percent of new developers are choosing to go the Laravel way).
– Official (as in as a separate GitHub repo under the “cakephp” org.) support of some of the modern UI frameworks (Vue.js included) : clearly understanding that this has scope of change in a few years, but then, if we do not support these constantly-evolving frameworks now, even CakePHP has a scope of eventually be “”most-popular-framework-of-a-time” that down the line 5-7 years people “might not even heard of it” (Vue.js would be a good starting point, or rather “Alpine.js”)
– Official support of some kind of CSS/front-end framework (I am thinking Tailwindcss), considering the Author is a major contributor to Laravel, so supporting Tailwindcss (officially and/or, by default) would encourage a lot of people (new and old both) to see CakePHP as a viable option (see – “community-focused” and “open” have entirely different meanings when “frameworks” support common technologies – easier transition, less-steep learning curve, very-open culture of development etc)

A bit about me – copied from a site where I was supposed to write something in the “About me” section

I have always been intrigued by technology and have found myself wondering at hardware/software/systems and thinking “How” and then “Why”.
I am a father to 2 daughters, and husband to a lovely wife, and now that I am enjoying a more stable/fun time of my life, I am moving the “Why” before “How” and it gives a wildly different narrative of the same thought process that I had during my younger times (around 20 years back I would say).

Belonging to a time before the first Nokia phones became global trends, when reading books, visiting libraries, giving attention and focus was the norm, I believe I have seen some varied changes in the thought process of the generation before, and after mine and this has allowed (and in a way, enabled) me to create unique training and learning environments where the difference (or rather the journey) is understood and explained very well. This allows me to communicate (and understand the reasons for the lack of, if there is) much better than people older, or very younger than me.

I enjoy critical thinking, and intend to make the tools and technologies easier/better for wide adoption and increase the quality of thoughts amongst us.

Light is back!

I have been trying dark themes on almost everything – phone (Android dark mode), apps-on-the-phone (Twitter, Slack etc), desktop (Ubuntu dark theme), Opera, Chrome, Terminal, VScode (for code) and what not…

And all this starts from a simple concept – dark mode looks good, really good.

Unfortunately, the one thing that I have not been able to move to a “comfortable” dark mode is “NetBeans” – the flawed editor I used (for more than a decade) and feel so natural and comfortable in working in it.

As an alternate to NetBeans, I got VScode/sublime and what not – for whatever small amount of time that I could work on those, and while those are great in their fields, but I was just not able to find the joy and comfort that I had while using NetBeans.

I tried a lot – to make NetBeans dark (using a lot of plugins/options/settings) and also to adapt VScode – but it didn’t seem to work as I hoped/expected.

In the background of thoughts trying to focus on the actual work/task that I was supposed to do, I have been thinking constantly about NetBeans/VScode/dark-mode…

All this background noise was becoming more loud with every passing day and today I decided to shut that noise and go back to “light” mode, discarding all dark-mode settings and the conflict/noise just vanished.

“Light is back” – let’s get back to work and get shit done.