Journey to mastery of ML – The very beginning


Machine Learning (ML) is recently gaining momentum, expressing itself in many areas of our lives, trying to solve things that were not possible before. We are able to get more answers now, because over the years, we collected fairly huge amount of data as well as our computers, through continuous upgrades, gained lots of computation power, that can be utilized in the cloud to our benefits. All of this gives us an amazing foundation for Machine Learning, so let’s shortly demystify this term.

In essence,”Machine Learning means giving a computer the ability to write its own rules and learn about new things, on its own”. Sounds scary, but how can we literally achieve that? Where to start? Is it something for your or me or it’s rather meant for data scientist who understand complex math and statistics ?

Trying to answer those questions, I’ve decided to write my “Journey to mastery of ML” series. This is going to be a set of articles, from the perspective of avid learner, who wants to nurture Machine Learning topic.

By doing that I want to prove that if something truly interests you, you can learn it, no matter how complex the topic may sound at the beginning or how late you joined the game. Additionally I want to track my unique and personal Learning Path, so I can verify later on how long it took me to master this topic and whether I was persistent enough to get there.

As a side effect, for some of you, my dear readers, it can be also the source of an inspirational material, full of web links, blog posts, books and tutorials descriptions.

I invite you to discover the world of Machine Learning with me. Are you ready?

Continue reading “Journey to mastery of ML – The very beginning”

PHP 7.2 and Argon2 Password Hashing


PHP 7.2 version appeared for the first time on 30th of November 2017, Time goes fast and more than a half year later, on 21st of June 2018, PHP announced 7.2.7 patch release. Among all the new features introduced in PHP 7.2, there is one, namely Argon2 Password Hashing, which will be the topic of our today’s post. Let’s explore this great addition together and verify whether Argon2 is a good contender to Bcrypt or not.

As always, all the other features of PHP 7.2 can be found under Request For Changes wiki page.

Continue reading “PHP 7.2 and Argon2 Password Hashing”

PHP 7.2 and Object Typehint


PHP 7.2 is around the corner.  On the 26th of October 2017, the 5th version of PHP Release Candidate has been announced, which was preceded by 3 alpha, 3 beta and 4 RC versions. First alpha version was announced on the 8th of June 2017 and the final version is about to be released by the end of November 2017.

If you are impatient and curious as I am, it’s right time to take a sneak peak at what PHP team is cooking for us. You can track all implemented features by studying PHP Request For Comments wiki page.

Without further ado, let’s explore the first feature together, an amazing Object Typehint

Continue reading “PHP 7.2 and Object Typehint”

Modern JavaScript syntax – ES6 const variables


ES6 brought lots of new features. Among them is support for constants. Instead of using var while declaring variables, you are now free to choose between const and let.

In this tutorial I will focus primarily on const and its “immutability” quirks, while let will be tackled in the following one. Without further ado, let’s start it off by going through the handful of examples.

Continue reading “Modern JavaScript syntax – ES6 const variables”

How to start using modern Javascript syntax within minutes


Everyone, including browsers, got used to the JavaScript syntax from 90-ties. But time passes by and JavaScript becomes more and more popular, so ECMA, the committee behind the changes in JavaScript, woke up and started to release new features.

The most recent major update to the specification was approved on 17th of June 2015 and is called by many names: ECMAScript 6, ES6, ES2015, and ES6Harmony.

Based on current plans, new specs will be released on a yearly cycle. Please monitor ECMA’s news page, especially changes related to the ECMA-262 document, if you are really interested.

Shall we as developers be excited? Definitely, cause we love bleeding-edge features, however we should also consider the browsers’ compatibility list.

It turns out that main players as Google Chrome, Mozilla Firefox, Apple Safari, and Windows Edge adopt new JavaScript syntax slowly, each one in different pace and priority, so it’s literally impossible to write modern Javascript syntax as it is. So what is the way then?

As you know JavaScript is an interpreted language: the browser interprets the code as text, so there is no need to compile JavaScript. Since we want to use the latest features, we need a way to convert fancy source code into something that poor browsers can interpret. This process is called transpiling, and it is what Babel is designed to do.

In this tutorial I will show you a few easy ways of tinkering with modern JavaScript syntax, without the need of installing anything nor going into complexity of Nodejs, NPM and Module bundlers.

Continue reading “How to start using modern Javascript syntax within minutes”

How to configure Browser Sync live reloading in your current or next Laravel project running on Homestead Virtual Machine


Browser Sync is an open source tool that can instantaneously synchronize your code changes with your browser. As soon as the file is saved, automatic webpage reload happens, without any action from your side.

You could use Browser Sync outside Laravel and without Laravel Mix asset bundler, however in this tutorial I will focus primarily on how to harvest its greatest features with truly minimalistic configuration.

All the hardest work has already been done by Laravel Mix, which lets you incorporate Browser Sync into your project with little effort. If you are interested, Laravel Mix uses Webpack module bundler with plugin browser-sync-webpack-plugin under the hood.

So, do you want to gain some time while developing your current or future Laravel project? If the answer is yes, then let’s start it off right away!

Continue reading “How to configure Browser Sync live reloading in your current or next Laravel project running on Homestead Virtual Machine”

Is it beneficial to add Laravel Collective HTML package into your Laravel project?


Laravel Collective is a set of components that have been removed from Laravel’s core framework and are no longer maintained by Taylor Otwell. Instead there is group of volunteers who decided to maintain following once famous packages:

In this tutorial, we are going to examine laravelcollective/html, trying to verify its usefulness in your future projects. Let’s start then!

Continue reading “Is it beneficial to add Laravel Collective HTML package into your Laravel project?”

How to configure Push to Deploy with Envoyer


It’s hard to not stumble across Envoyer, once you become the member of Laravel community. It’s advertised as Zero Downtime PHP Deployments and is one of many commercial products from Taylor Otwell, creator of Laravel framework.

I will walk you through the configuration of Push to Deploy. This means that whenever you push or merge your code into specified branch, Envoyer should detect it and automatically trigger deployment.

Keep in mind that Envoyer allows one project to be associated with exactly one branch from chosen repository.

Continue reading “How to configure Push to Deploy with Envoyer”

How to replace Vue.js with React in Laravel 5.4


As you probably experienced, Laravel 5.4 comes with Vue.js bundled and bootstrapped. For some developers it is equivalent of Laravel being coupled with Vue.js in some way. Hopefully it’s not the case. Laravel is completely agnostic when it come to JS frameworks and you are free to choose whichever you prefer.

Keep in mind though that Laravel’s community somehow fell in love with Vue.js, what is indirectly proven by following facts.

The good news is Laravel 5.5 will use frontend presets, allowing to remove not only Vue.js, but also Bootstrap with ease. Angular lovers must still use my method – unfortunately no preset for them on the horizon.

Continue reading “How to replace Vue.js with React in Laravel 5.4”