Posts

Showing posts with the label bot

Django middleware - Crawler detection

Sometimes you have to detect search engine crawling activity on your system, to handle the workflow for this type of request. On our website, there is a high crawling activity, because BV FAPESP (https://bv.fapesp.br) provides useful information abour reaserch for science, technology and academy in Sao Paulo state of Brazil. Recently, I deployed a feature on our system to allow people to store their queries and filters they do on our website. This is an open feature for everybody who navigates on our system. It is based on the HTTP session of the brower, which is stored on Python/Django server-side. When we were tunning Django session table in the database, we found out that there were a lot of sessions created by crawling activities. To take control of the session creation, I wrote the middleware that follows.  The list of crawlers, I get from ngix logs, on a very small timeframe, so maybe there are some more search engines that are not listed. The use-case presented, ...

Modeling a making software

Image
Nota de esclarecimento Eu estou publicando esse artigo em inglês na tentativa de alcançar uma audiência maior. O objetivo é expandir e não limitar o acesso, e c aso haja demanda eu escreverei em português. O assunto desse artigo é de interesse global e tem um viés mais técnico do que outros textos que eu tenho publicado. Before I start, I would like to tell you that english is not my primary language so you will see creative english, non standard english also known as errors.  I will try my best to explain the idea of “making software”. Introduction Technology is evolving faster and faster day after day. Some advocates that this process draw a exponential line, and by 2045 technology will have reached a new singularity that human bean will have difficulties to comprehend the surrounding technological environment. I will present a software that is far from this reality, but it innovates in the sense that it carries facility to the end user, so he or she can write...