Fruta no pé: Mapping fruit trees with geopositioning in my city

São José dos Campos is the only recognized smart city in Brazil; this recognition is given to only a few cities around the globe. Primarily, these cities benefit from technology to develop themselves while improving the quality of life of their citizens.

For instance, one of the fascinating traits of São José dos Campos is that most of the trees in the urban area are mapped. Additionally, they have a QR code that makes it relatively easy to identify them. This information is public and widely available to anyone in https://arvores.sjc.sp.gov.br/ and https://geosanja.sjc.sp.gov.br/.

QR code on a tree in São José dos Campos

… 

 

PHP Barcelona 2019

After a long time planning, finally, I was able to attend to one of the most prestigious PHP conferences in Europe, PHP Barcelona. Two days of great talks and a lot of valuable content. I was quite amazed by the quality of the scheduled talks and by the invited keynoters, it is not that easy to arrange such lineup for an event like this one. I will briefly talk about my favourite talks and some things worth to mention.


… 

 

Profiling PHP applications with Xdebug

When you are dealing with applications which handle a massive amount of data and high traffic, performance is usually a critical issue to deal, and consequently, the ability to identify any bottleneck in your software may be precious. I’d like to share here some insights about profiling in PHP applications, it means, how to analyse your app and try to improve its performance through the data gathered.

… 

 

Yii2 extension for Doctrine and MongoDb

In my job, I was trying to use the MongoDB with the default Active Record from the Yii2, but briefly, I had struggled with too many issues and missing documents, so, I gave a u-turn and decided to use the Doctrine instead, this is the outcome, my first package for packagist.org =), although a simple but a quite useful one.

… 

 

Using fragment cache with ESI

First of all, what’s ESI? If you are familiar with cache approaches, you may have heard about it. The ESI or Edge Side Includes is a small markup language for edge level dynamic web content assembly with the purpose to solve the following problem, e.g.:

A web page has some dynamic components that always change, on the other hand, others static parts of the same page barely are modified like the footer or header, what kind of cache strategy we can use? When you are using reverse cache also known as gateway cache in your application or web servers like Apache or Nginx at this context, this sort of cache will be useless, because in every request will be necessary to refresh the cache system to show the dynamic content because the cache works for the whole page. On this sample, the cache layer will be only an extra step to increase the latency. So, how to solve that problem?

… 

 

Three years after the ZCPE exam

Three years ago I took the ZCPE (Zend Certified PHP Engineer) exam about the PHP 5.5 (Recently the new version of the exam was released, this one is about the PHP 7). It was a milestone in my career, and I can perfectly remember the two months before it, when I studied so hard, even dreaming about it. …