I used an emotion AI tool to learn more

After writing Why PHP Cannot Die, I wrapped my head around why we human beings may make decisions based on an emotional bias.

For example, you may be an enthusiast of productivity, relationships and politics, and therefore, follow a witty indie creator that we’ll call writer Z. Of course, Z won’t be the only writer on your following list.

Who else should you be following? And have you ever wondered to what extent their words have an influence on you?

As a newbie on…


Because PHP was in the right place at the right time

It is not too uncommon to find posts on the Internet about when PHP will die, or about whether or not PHP is still relevant in 2021.

Even though there seems to be kind of mixed feelings on PHP among experts the funny thing is, there’s about 80 percent chance that any random post published on the Internet is processed by it.

If there was one server-side programming language that was able to successfully adapt to the times, that’s PHP.

It originally started in 1994 as a personal project of his creator, Rasmus Lerdorf, who first used it for tracking…


Remember to append the CA bundle to the end of the trusted certificate

How can a WebSocket server be secured with SSL/TLS? What are the advantages of using an SSL certificate issued by a trusted CA for free? Is it mandatory to self-sign a certificate?

Should the code be refactored?

These are some questions that I tried to answer in my previous post while having a piece of cake with a lovely cup of coffee.

So far we’ve learned how to setup a TLS proxy with stunnel so that connections to port 8080 get forwarded to port 8443. …


Make it easy peasy with an SSL certificate issued instantly online by a CA

Back in the 2000s there was no such thing as a free SSL certificate issued instantly online by a trusted certificate authority (CA). If you wanted one you had to pay for it, and some of them used to be significantly more expensive than they are today.

By then websites were mostly served over the HTTP protocol rather than HTTPS so you’d type URLs like http://acme.com instead of https://acme.com in your browser’s address bar.

Web developers used to create their own self-signed certificates in order to work on the development environment of HTTPS sites. The objective was to mimic the…


Since I’m not a big fan of mocking I used the app’s real store

Hey everybody, how are you doing today? This is another post in my series about testing React apps with ease and with joy.

Remember, the secret to writing code with ease and joy is take one step at a time.

The next thing to do after installing and setting up Enzyme to work with Jest in redux-chess is run some first integration tests against the app’s real store rather than mocking it.

The objective is to kind of mimic and automate how users would interact with the UI, hence the post title about integration testing.


There’s some joy in the realization that I’m taking it easy

Recently I’ve been adding with ease a bunch of awesome new features to redux-chess, a Redux-based npm package.

If you’ve read my previous posts, you’ll know I am writing a React chessboard intended to connect to a PHP chess server for chess move validation, position evaluation, invite friends to play, and more amazing features.

For those of you who are new to JavaScript, React is an excellent library and framework which makes building interactive UIs a breeze as opposed to spaghetti code.

So far, I’ve…


After all, TDD is about sticking with a way of doing things that helps you save brain energy

There is a plethora of tutorials out there on how to write unit tests from scratch with Jest, which is a popular testing platform for JavaScript.

While that is without doubt a necessary step in your learning journey, especially in the beginning, there’s still one more thing to consider if you want to become a truly successful developer: Test-driven development.

TDD is so fun that you won’t want to give it away!

Test-driven development is not too complicated but a significantly more advanced thing that can only be learned through practice and experience.

So don’t feel discouraged if you don’t…


Unleash your creative self to build an online portfolio that your clients will celebrate

Are you looking forward to hosting an amazing, astonishing, static website on GitHub Pages for free? If so, Jekyll is definitely a static site generator worth using.

GitHub Pages and Jekyll go hand in hand to help you build and host your site in the blink of an eye. There are a plethora of Jekyll themes to choose from, and most probably you’ll play around with a few to end up customizing the CSS and JavaScript code as you wish.

Take your time to make a decision that will impress everyone, and make sure to choose a supported theme if…


Contrary to popular belief, Python is not the only programming language for data science

Machine learning is the science of teaching a computer to solve problems by example rather than writing sequential algorithms which instructions run one by one.

Data preparation for machine learning is the prior step towards training a model, and usually involves two substeps: creating a dataset and transforming the data. In this post I’ll be focusing on the former in the context of building a human-like AI to play chess in PHP.

Because contrary to popular belief, Python is not the only programming language for data science in this world. …


A tutorial for when you need to install a local npm package without using a symbolic link

In my previous post, I did my best to explain an intriguing fine point about developing a local npm package.

As you may probably know, I am currently developing redux-chess, a Redux-based chessboard primarily intended to connect to a WebSocket server for chess move validation, position evaluation, and many more cool features.

It is a good idea to test the package from within a host application outside of the package itself. However, it turns out that npm install will create a symlink when installing a local package, which might end up in an unfriendly testing experience.

For further information on…

Jordi Bassaganas

All things web and more at programarivm.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store