Getting Started With Backstage.io
A quick introduction into Backstage.IO
Creating A Project Generator Template For Phoenix
Using mix template and mix generator to create a phoenix blog starter template with liveview and tailwindcss
Blog Update 2022/2023
A quick update of what has happened with the blog on the last 2 years
Using Abbreviations instead of Aliases
Why you should start using abbreviations instead of aliases
Circuit Breaker Pattern in Elixir
Design for failure with the circuit breaker pattern
5 Reasons to love Elixir
Five reasons that will make you love the Elixir language and stack if you don't already
Exploring Headless Commerce
Exploring the current state of headless commerce and how to best take advantage
The Thing Most Developers Get Wrong On Interviews
Most developers focus a lot on technical skills but often fail to prepare for the most basic of soft skills interviews
WTF is Flow-Based Programming
A quick introduction and overview on the ideas behind Flow-Based Programming
Ethereum Zero to Hero: Developing Our First Contract
Developing a basic contact using Ethereum
Ethereum Zero to Hero: Introduction
An introduction to Ethereum Development
Ethereum Zero to Hero: Setting a Development Environment
Setting up a basic private test network for Ethereum development
5 Trends To Watch Out On 2018
Five technology trends to keep to watch out for in 2018.
You Should Learn Functional Programming in 2017
Functional programming is making a big comeback and here is why developers should make their mission for 2017 to learn a functional language
Neural Networks Without a PhD: Topologies
A series focused on presenting Neural Networks and the related concepts in layman's terms, that is to say without specialized knowledge in math or machine learning.
Vim Is The Perfect IDE
I have have tried Atom, SublimeText, TextMate, Eclipse, Visual Studio, and most of the Jetbrains products, I'm constantly tweaking and looking for a better setup, however Vim always feels like home to me; and I'm to the point now where I rarely use IDEs – exception being messy and complex projects where IDEs can do a lot of heavily lifting
Neural Networks Without a PhD: Introduction
A series focused on presenting Neural Networks and the related concepts in layman's terms, that is to say without specialized knowledge in math or machine learning.
Neural Networks Without a PhD: Components of a Neural Network
A series focused on presenting Neural Networks and the related concepts in layman's terms, that is to say without specialized knowledge in math or machine learning.
Machine Learning: A Simple Neural Network
A simple neural network implementation in python with numpy
Functional Programming: The Paradigm for the Next Generation
Functional programming is often treated as the fad of hipster mustachioed programmers, and more often is dismissed without much consideration
On Codes on Conduct
My opinions and ruminations on the whole debate about PHP's code of conduct
Exploring Elixir Recursion and Lists
Exploration of recursion in elixir with lists
2016 the Year of Quantified Self
Quantified self and self-improvement have been on my radar for a few years now, and with a new year starting I finally decided to give it a serious try and see what outcomes I get from it.
TDD is not Dead
TDD is not dead, not really. And it won't really ever be dead, it will change or be replaced with something better; in fact it already has, and in my MagentoTDD book we focus on Behavior Driven Development, an approach that emerged from the original TDD methodology.
Manfred Macx and the Problem of Information Overload
I have always been fascinated with the technology concepts presented on Charles Stross book Accelerando, artificial cats, downloads of consciousness, nanotechnology, etc. but of all of them one got my particular attention; Manfred Marcx glasses.
On Encrypting Magento Extensions
Should Magento Connect Allow encrypted extensions
Git Tips and Tricks
Useful collection of git tips and tricks
Getting Started With Magento and Docker for Development
Setting up a Magento development Environment with docker
Design Patterns in PHP: Adapters
The adapter pattern also referred as the wrapper pattern, I find that wrapper is a more fitting name since it describes clearly what this pattern does; it encapsulates the functionality of a class or object into a class with a common public interfaces.
WTF are: Service Contracts (Magento 2 Edition)
The Service layer allows modules to provide a well-defined public API and effectively hiding the business logic and preserving data integrity.
The Async Software Development Manifesto Revised
The Async Software Development Manifesto has been making the rounds on sites like HackerNews and /r/programming; and while I dont agree entirely with all that is proposed, some of the points made by the author made so much sense that I felt motivated to break them down and make some contributions of my own.
Exploring Hack: Building a MicroFramework
So to get started I've decided to build a micro-framework using HACK and HHVM, building a simple microframework should be a challenging enough task to illustrate some of the more interesting features of the language and at the same time it has an achievable goal so we don't end on a never ending development cycle.
Swiss Army Knife Syndrome
A tool with so many features and implements that ends up being completely useless, in my experience the same problem can apply to software; more often than not as developers we will try to include a feature or a piece of code
Flexible PHP Development with PHPFarm
Learn how to use PHPFarm to create flexible development environments that can run multiple php versions side by side
Is HHVM/Hack the new face of PHP?
HHVM could change (is already at some extent) the way developers see and think about PHP performance, and how PHP should work. Even if you don't care and never plan to use HHVM or HACK in any of your projects the mere fact that they exist is a good thing for the PHP community.
Working with Psysh
I previously mentioned Boris, a terrific REPL for PHP, and while Boris is a great and functional REPL, is not the only available
Hello Hack
Recently Facebook unveiled Hack, a new programming language that aims to provide developers with the tools to write and ship code quickly while catching errors on the fly.
HHVM In The Wild
HHVM is taking the PHP world by storm, and as PHP developer there many things to be excited about HHVM.
Exploring Traits
Traits are a mechanism for code reuse in single inheritance languages such as PHP. A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies. The semantics of the combination of Traits and classes is defined in a way which reduces complexity, and avoids the typical problems associated with multiple inheritance and Mixins.
Laravel Learning Resources
Collection of resources for learning Laravel
Boris The Missing PHP REPL
REPL(read-eval-print loop) can be great tools for quickly testing concepts, experimenting and getting quick feedback when learning a new language. Many languages and frameworks provide some sort of REPL like the rails console or laravel's artisan tinker.
Magento Online Hackathon 2014
This past weekend the Magento Community hosted the first Magento Online Hackathon, here is a quick recap of my experience.
Magento and HHVM
If you are developer or system administrator working with Magento running one or more medium sized stores, chances are that you are familiar with the many challenges of optimizing and scaling Magento.
Design Patterns in PHP: Singletons
The singleton pattern is useful when we need to make sure we only have a single instance of a class for the entire request lifecycle in a web application. This typically occurs when we have global objects (such as a Configuration class) or a shared resource (such as an event queue).
Design Patterns in PHP: Using Factories
The factory pattern is a class that has some methods that create objects for you. Instead of using new directly, you use the factory class to create objects. That way, if you want to change the types of objects created, you can change just the factory. All the code that uses the factory changes automatically.
Playing with dependency injection in PHP
Dependency Injection is a software design pattern that allows avoiding hard-coding dependencies and makes possible to change the dependencies both at runtime and compile time.
Technical Debt
Technical Debt, chances are that you as developer have heard that term at least once before; but ask yourself do you really understand technical debt and when is appropriate to use it.
We are consuming data the wrong way
We are essential using the same technology as it was invented 30 years ago, when the few websites where just black text and a white background. Sure, we have css5, html5, javascript, server side languages, etc.
Stop Disrupting Everything
The term disrupt is nothing more than the last on a long list of buzzwords that poison the start up scene.
5 Rules for Writing Great Commits
One of the most underestimated skills that a developer can have is the ability to make well documented, clean commits. Writing good commits can save everyone involved in project tremendous amounts of time, money and effort
Fitbit Flex and the Quantified Self Movement
I believe that information empower us to make better healthier decisions, and this has certainly proven to be true in my case after a my first month of using the Fitbit Flex
Burnout
We all been there, feeling tired, bored and even sick of our work; burnout is very common in the tech industry, probably more common that most people want to realize.
Week 1: 500 Words a day
A week ago I decided to follow the example of the amazing Nathan Barry in order to try kick start this blog and work on a couple of book projects that I want to launch. The basic idea revolves around creating the habit of writing a specific amount of words every day no matter what.
First steps on HHVM
Currently a few applications are fully supported like wordpress and drupal; more complex applications like Magento are still not 100% with HHVM due to bugs in the HHVM implementation.
An Introduction to HHVM
In early 2008 Facebook began working on **HipHop**(now HPHP), a PHP execution engine; its original motivation was to convert Facebook massive PHP code base into C++ in order to save resources and increase the application performance. The original release was known as HPHPc a **PHP** to **C++** compiler.
More than human
In the last couple years, we have seen the emergence of new and exciting technologies aimed towards closing the gap between man and machine