Generated by All in One SEO v4.9.10, this is an llms.txt file, used by LLMs to index the site. # Terra Incognita by Christian S. Perone ## Sitemaps - [XML Sitemap](https://blog.christianperone.com/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [Portable ML jobs monitor with M5Stack](https://blog.christianperone.com/2026/06/portable-ml-jobs-monitor-with-m5stack/) - I had a spare M5stack that I got for a project and decided to repurpose it for a remote ML job monitor since it has a decent battery, an ESP32 + small keys and full keyboard + WiFi, it is starting to look cool: - [Where the wild Discovery Loops are](https://blog.christianperone.com/2026/06/where-the-wild-discovery-loops-are/) - Karl Popper offered an elegant normative account of science as a process of conjectures and refutations: we formulate hypotheses or theories, expose them to criticism, scrutiny and experiment, and retain only what survives our best attempts at falsification. Even though we couldn't ever know if we reached the truth, we can approximate it and get - [Flow Matching Elites with NVIDIA PhysicalAI Autonomous Vehicles dataset](https://blog.christianperone.com/2026/06/flow-matching-elites-with-nvidia-physicalai-autonomous-vehicles-dataset/) - A few months ago NVIDIA open-sourced their Physical AI AV dataset (PAI) and since I was planning to experiment with developing the Flow Matching Elites after my earlier post on the Diffusion Elites, I decided to give it a try and use the NVIDIA PAI dataset for it instead of synthesizing trajectories. NVIDIA PAI Dataset - [Auris I - a hackable ultra low-power AI pin](https://blog.christianperone.com/2026/01/auris-i-a-hackable-low-power-ai-pin/) - This short article is just to share a new side project I started working on during the 2025/2026 break. Over the past year, we have started to see a vast number of companies developing hardware for AI assistants. There were also a lot of acquisitions related to these devices (e.g., Amazon bought Bee [1]), and - [Notes on Gilbert Simondon's "On the Mode of Existence of Technical Objects" and Artificial Intelligence](https://blog.christianperone.com/2025/01/notes-on-gilbert-simondons-on-the-mode-of-existence-of-technical-objects-and-artificial-intelligence/) - * This time, this is not a technical article (but it is about philosophy of technology 😄) This is a short opinion article to share some notes on the book by the French philosopher Gilbert Simondon called "On the Mode of Existence of Technical Objects" (Du mode d'existence des objets techniques) from 1958. Despite his - [Slides for Gemma3n architecture guide talk](https://blog.christianperone.com/2025/11/slides-for-gemma3n-architecture-guide-talk/) - Hi everyone, just sharing some slides about Gemma3n architecture. I found Gemma3n a very interesting model so I decided to dig a bit further, given that information about it is still very scarce, hope you enjoy ! Download the slides PDF here. - [Diffusion Elites + World Models: surprisingly good, simple and embarrassingly parallel](https://blog.christianperone.com/2025/07/diffusion-elites/) - Introduction It is not a secret that Diffusion models have become the workhorses of high-dimensionality generation: start with a Gaussian noise and, through a learned denoising trajectory, you get high-fidelity images, molecular graphs, or robot trajectories that look (uncannily) real. I wrote extensively about diffusion and its connection with the data manifold metric tensor recently - [TorchStation Prototype V1 - GPUs panel](https://blog.christianperone.com/2025/05/torchstation-prototype-v1-gpus-panel/) - I finally had some time over the holidays to complete the first panel of the TorchStation. The core idea is to have a monitor box that sits on your desk and tracks distributed model training. The panel shown below is a prototype for displaying GPU usage and memory. I’ll continue to post updates as I - [VectorVFS: your filesystem as a vector database](https://blog.christianperone.com/2025/04/vectorvfs-your-filesystem-as-a-vector-database/) - PS: thanks for all the interest, here you are some discussions about VectorVFS as well: Hacker News: discussion thread Reddit: discussion thread When I released EuclidesDB in 2018, which was the first modern vector database before milvus, pinecone, etc, I ended up still missing a piece of simple software for retrieval that can be local, - [Thoughts on Riemannian metrics and its connection with diffusion/score matching [Part I]](https://blog.christianperone.com/2023/09/thoughts-on-riemannian-metrics-and-its-connection-with-diffusion-score-matching-part-i/) - We are so used to Euclidean geometry that we often overlook the significance of curved geometries and the methods for measuring things that don't reside on orthonormal bases. Just as understanding physics and the curvature of spacetime requires Riemannian geometry, I believe a profound comprehension of Machine Learning (ML) and data is also not possible - [The geometry of data: the missing metric tensor and the Stein score [Part II]](https://blog.christianperone.com/2024/11/the-geometry-of-data-part-ii/) - Note: This is a continuation of the previous post: Thoughts on Riemannian metrics and its connection with diffusion/score matching [Part I], so if you haven't read it yet, please consider reading as I won't be re-introducing in depth the concepts (e.g., the two scores) that I described there already. This article became a bit long, - [Torch Titan distributed training code analysis](https://blog.christianperone.com/2024/08/torch-titan-distributed-training/) - I really like to peek into different ML codebases for distributed training and this is a very short post on some things I found interesting in Torch Titan: Disable and control of Python's garbage collector (GC): titan codebase disables the Python GC and then manually forces a collection in the beginning of every training step - [Memory-mapped CPU tensor between Torch, Numpy, Jax and TensorFlow](https://blog.christianperone.com/2024/08/mmap-torch-np-jax-tf/) - This is just a fun experiment to answer the question: how can I share a memory-mapped tensor from PyTorch to Numpy, Jax and TensorFlow in CPU without copy and making sure changes done in memory by torch are reflected on all these shared tensors ? One approach is shown below: import torch import tensorflow as - [Generalisation, Kant's schematism and Borges' Funes el memorioso - Part I](https://blog.christianperone.com/2024/06/schematism/) - Introduction One of the most interesting, but also obscure and difficult parts of Kant's critique is schematism. Every time I reflect on generalisation in Machine Learning and how concepts should be grounded, it always leads to the same central problem of schematism. Friedrich H. Jacobi said that schematism was "the most wonderful and most mysterious - [[pt-br] Dados das enchentes no Rio Grande do Sul (RS) em 2024](https://blog.christianperone.com/2024/05/dados-das-enchentes-no-rio-grande-do-sul-rs-em-2024/) - É muito triste ver as enchentes devastadoras que tem atingido o Rio Grande do Sul nos últimos anos. Decidi fazer este post pra tentar compreender melhor a escala e o impacto desses eventos usando algumas fotos de satélite e dados recentes sobre as enchentes. Maioria das imagens recentes são do MODIS (Moderate Resolution Imaging Spectroradiometer) - [PyTorch 2 Internals - Talk](https://blog.christianperone.com/2023/12/pytorch-2-internals-talk/) - Just sharing ~100 slides about PyTorch 2 internals focusing on recent innovations (Dynamo, Inductor, and ExecuTorch). I had a lot of fun preparing this and hope you'll enjoy it. I'm planning to record it soon. Download link for the slides are here. Slides in SlideShare are here. - [Large language model data pipelines and Common Crawl (WARC/WAT/WET)](https://blog.christianperone.com/2023/06/appreciating-llms-data-pipelines/) - This article provides a short introduction to the pipeline used to create the data to train large language models (LLMs) such as LLaMA using Common Crawl (CC). - [The same old historicism, now on AI](https://blog.christianperone.com/2017/07/the-same-old-historicism-now-on-ai/) - * This is a critical article regarding the presence of historicism in modern AI predictions for the future. Perhaps you already read about the Technological Singularity, since it is one of the hottest predictions for the future (there is even a university with that name), especially after the past years' development of AI, more precisely, - [Feste: composing NLP tasks with automatic parallelization and batching](https://blog.christianperone.com/2023/03/feste-composing-nlp-tasks-with-automatic-parallelization-and-batching/) - I just released Feste, a free and open-source framework with a permissive license that allows scalable composition of NLP tasks using a graph execution model that is optimized and executed by specialized schedulers. The main idea behind Feste is that it builds a graph of execution instead of executing tasks immediately, this graph allows Feste - [Couple of recent publications in uncertainty estimation and autonomous vehicles](https://blog.christianperone.com/2022/11/couple-of-recent-publications-in-uncertainty-estimation-and-autonomous-vehicles/) - Just sharing some recent publications I've been involved recently: L2M: Practical posterior Laplace approximation with optimization-driven second moment estimation ArXiv: https://arxiv.org/abs/2107.04695 (ICML 2021 / UDL) Uncertainty quantification for deep neural networks has recently evolved through many techniques. In this work, we revisit Laplace approximation, a classical approach for posterior approximation that is computationally attractive. However, - [Tutorial on using LLVM to JIT PyTorch fx graphs to native code (x86/arm/risc-v/wasm) (Part I - Scalars)](https://blog.christianperone.com/2022/09/tutorial-on-using-llvm-to-jit-pytorch-fx-graphs-to-native-code-x86-arm-risc-v-wasm-part-i-scalars/) - In 2009 I started playing with LLVM for some projects (data structure jit, for genetic programming, jit for tensorflow graphs, etc), and in these projects I realized how powerful LLVM design was at the time (and still is): using an elegant IR (intermediate representation) with an user-facing API and modularized front-ends and backends with plenty - [Universality, primes and space communication](https://blog.christianperone.com/2014/01/universality-primes-and-space-communication/) - So, in mathematics, we have the concept of universality in which we have laws like the law of large numbers, the Benford's law (that I cited a lot in previous posts), the central limit theorem, and many other laws that act like laws of physics for the world of mathematics. These laws are not our - [Arduino WAN, Helium network and cryptographic co-processor](https://blog.christianperone.com/2022/01/arduino-wan-helium-network-and-cryptography/) - I was recently interested in the intersection of Machine Learning and RF and I was taking a look into LoRa modulation, which is based on Chirp Spread Spectrum (CSS), and ended up getting to know more about the Helium network. I still think that the most stupid piece of technology behind crypto mining is spending - [Episuite: epidemiology in Python](https://blog.christianperone.com/2021/03/episuite-epidemiology-in-python/) - I'm proud to announce Episuite, an open-source project with a suite of tools and components for epidemiology in Python. It is an initiative trying to fill the gap that we have in the Python ecosystem for epidemiology frameworks. Documentation: https://perone.github.io/episuite/ Repository: https://github.com/perone/episuite - [Talk: Gradient-based optimization for Deep Learning](https://blog.christianperone.com/2020/11/optimization-deep-learning/) - This weekend I gave a talk at the Machine Learning Porto Alegre Meetup about optimization methods for Deep Learning. In this material you will find an overview of first-order methods, second-order methods and some approximations of second-order methods as well about the natural gradient descent and approximations to it. I took some long nights to - [Visualizing sample simplex trajectories in Deep Learning](https://blog.christianperone.com/2020/09/visualizing-sample-simplex-trajectories-in-deep-learning/) - Softmax is a distribution over choices, it maps a vector into the probability simplex that is defined as , where the sum of all elements of the vector must equal 1. Softmax is used a lot in classification and I thought it would be interesting to visualize (when possible, on lower dimensions) the trajectories of individual - [A new professional ethics: Karl Popper and Xenophanes' epistemology](https://blog.christianperone.com/2020/09/a-new-professional-ethics-karl-popper-and-xenophanes-epistemology/) - It is not a secret that I admire the work of Karl Popper, both as a philosopher but also as a very precise historian that tried to dismiss many misunderstandings of the past. I was reading the book The World of Parmenides, which is a collection of Popper's essays on the Presocratic Enlightenment, and found - [A sane introduction to maximum likelihood estimation (MLE) and maximum a posteriori (MAP)](https://blog.christianperone.com/2019/01/mle/) - It is frustrating to learn about principles such as maximum likelihood estimation (MLE), maximum a posteriori (MAP) and Bayesian inference in general. The main reason behind this difficulty, in my opinion, is that many tutorials assume previous knowledge, use implicit or inconsistent notation, or are even addressing a completely different concept, thus overloading these principles. - [Talk: Bayesian modelling for COVID-19 seroprevalence studies](https://blog.christianperone.com/2020/06/talk-bayesian-modelling-for-covid-19-seroprevalence-studies/) - I just published the slides of the talk below presented at the Machine Learning Porto Alegre meetup in Brazil: - [COVID-19 Analysis: Symptom onset to confirmation delay estimation for states in Brazil](https://blog.christianperone.com/2020/05/covid-19-analysis-symptom-onset-to-confirmation-delay-estimation-for-states-in-brazil/) - Since the generation time of a virus is very difficult to estimate, most studies rely on the serial interval which is estimated from the interval between clinical onsets. Given that most analysis use the serial interval, it is paramount to have an estimate of the precise onset dates of the symptoms. I did a analysis - [Nota sobre o estudo da UFPel no Rio Grande do Sul](https://blog.christianperone.com/2020/04/nota-ufpel-covid/) - * This post is in Portuguese. Introdução Resolvi escrever esta nota sobre o estudo de prevalência de anticorpos (seroprevalence) que a UFPel está realizando no Rio Grande do Sul, pois parece haver um grande desentendimento por parte da população, principalmente por parte dos jornalistas em relação aos números reportados pelos pesquisadores da UFPel. Para começar, - [COVID-19 Analysis: ICU occupancy forecasting for Portugal](https://blog.christianperone.com/2020/04/covid-19-analysis-icu-occupancy-forecasting-for-portugal/) - Short animation showing the ICU occupancy forecasting for Portugal during the COVID-19 outbreak. For more information, visit the site below: https://perone.github.io/covid19analysis/ - [First early R0 estimate for Portugal COVID-19 outbreak](https://blog.christianperone.com/2020/03/first-early-r0-estimate-for-portugal-covid-19-outbreak/) - Just posting the first early estimate for the COVID-19 (basic reproduction number) in Portugal outbreak. Details on the image, more information to come soon. This estimate is taking into consideration the uncertainty for the generation interval and the growth. - [Gandiva, using LLVM and Arrow to JIT and evaluate Pandas expressions](https://blog.christianperone.com/2020/01/gandiva-using-llvm-and-arrow-to-jit-and-evaluate-pandas-expressions/) - Introduction This is the post of 2020, so happy new year to you all ! I'm a huge fan of LLVM since 11 years ago when I started playing with it to JIT data structures such as AVLs, then later to JIT restricted AST trees and to JIT native code from TensorFlow graphs. Since then, - [Python: acessing near real-time MODIS images and fire data from NASA's Aqua and Terra satellites](https://blog.christianperone.com/2009/02/python-acessing-near-real-time-modis-images-and-fire-data-from-nasas-aqua-and-terra-satellites/) - From Modis Rapid Response System site: The MODIS Rapid Response System was developed to provide daily satellite images of the Earth's landmasses in near real time. True-color, photo-like imagery and false-color imagery are available within a few hours of being collected, making the system a valuable resource (...). The Moderate Resolution Imaging Spectroradiometer (MODIS) flies - [Considerações sobre a filosofia da ciência de Karl Popper e Algoritmos Evolutivos](https://blog.christianperone.com/2009/02/consideracoes-sobre-a-teoria-da-ciencia-de-karl-popper-e-algoritmos-evolucionarios/) - Sou um grande fã da filosofia da ciência de Karl Popper, desta maneira, resolvi escrever algo sobre o que eu acho interessante na filosofia dele, principalmente em relação à crítica racional, pra depois falar um pouco do que acho sobre isto em relação aos algoritmos evolutivos em geral. Popper, em seu livro "Em busca de - [Considerations regarding Karl Popper's philosophy of science and Evolutionary Algorithms](https://blog.christianperone.com/2009/03/considerations-regarding-karl-poppers-philosophy-of-science-and-evolutionary-algorithms/) - There is a portuguese version of this post here. I am a big fan of the Karl Popper's philosophy of science, so I decided to write something about what I find interesting in his philosophy, especially in relation to rational criticism, to talk later a little bit of what I think about this in relation - [An analysis of Benford's law applied to Twitter](https://blog.christianperone.com/2009/08/an-analysis-of-benfords-law-applied-to-twitter/) - Benford's law is one of those very weird things that we can't explain, and when we discover more and more phenomena that obey the law, we became astonished. Two people (Simon Newcomb - 1881 and Frank Benford - 1938) noted the law in the same way, while flipping pages of a logarithmic table book; they - [A method for JIT'ing algorithms and data structures with LLVM](https://blog.christianperone.com/2009/11/a-method-for-jiting-algorithms-and-data-structures-with-llvm/) - Hello folks, I always post about Python and EvoComp (Pyevolve), but this time it's about C, LLVM, search algorithms and data structures. This post describes the efforts to implement an idea: to JIT (verb) algorithms and the data structures used by them, together. AVL Tree Intro Here is a short intro to AVL Trees from - [Machine Learning :: Text feature extraction (tf-idf) - Part I](https://blog.christianperone.com/2011/09/machine-learning-text-feature-extraction-tf-idf-part-i/) - Short introduction to Vector Space Model (VSM) In information retrieval or text mining, the term frequency - inverse document frequency (also called tf-idf), is a well know method to evaluate how important is a word in a document. tf-idf are is a very interesting way to convert the textual representation of information into a Vector Space Model - [Machine Learning :: Text feature extraction (tf-idf) - Part II](https://blog.christianperone.com/2011/10/machine-learning-text-feature-extraction-tf-idf-part-ii/) - Read the first part of this tutorial: Text feature extraction (tf-idf) - Part I. This post is a continuation of the first part where we started to learn the theory and practice about text feature extraction and vector space model representation. I really recommend you to read the first part of the post series in - [Hacking into Python objects internals](https://blog.christianperone.com/2011/11/hacking-into-python-objects-internals/) - You know, Python represents every object using the low-level C API PyObject (or PyVarObject for variable-size objects) structure, so, concretely, you can cast any Python object pointer to this type; this inheritance is built by hand, every new object must have a leading macro called PyObject_HEAD which defines the PyObject header for the object. The - [Genetic Programming and a LLVM JIT for restricted Python AST expressions](https://blog.christianperone.com/2012/08/genetic-programming-and-a-llvm-jit-for-restricted-python-ast-expressions/) - A small intro on the rationale So I'm working on a Symbolic Regression Machine written in C/C++ called Shine, which is intended to be a JIT for Genetic Programming libraries (like Pyevolve for instance). The main rationale behind Shine is that we have today a lot of research on speeding Genetic Programming using GPUs (the - [Machine Learning :: Cosine Similarity for Vector Space Models (Part III)](https://blog.christianperone.com/2013/09/machine-learning-cosine-similarity-for-vector-space-models-part-iii/) - * It has been a long time since I wrote the TF-IDF tutorial (Part I and Part II) and as I promissed, here is the continuation of the tutorial. Unfortunately I had no time to fix the previous tutorials for the newer versions of the scikit-learn (sklearn) package nor to answer all the questions, but - [Machine Learning :: Cosine Similarity for Vector Space Models (Part III)](https://blog.christianperone.com/2013/09/machine-learning-cosine-similarity-for-vector-space-models-part-iii/) - * It has been a long time since I wrote the TF-IDF tutorial (Part I and Part II) and as I promissed, here is the continuation of the tutorial. Unfortunately I had no time to fix the previous tutorials for the newer versions of the scikit-learn (sklearn) package nor to answer all the questions, but - [Machine Learning :: Cosine Similarity for Vector Space Models (Part III)](https://blog.christianperone.com/2013/09/machine-learning-cosine-similarity-for-vector-space-models-part-iii/) - * It has been a long time since I wrote the TF-IDF tutorial (Part I and Part II) and as I promissed, here is the continuation of the tutorial. Unfortunately I had no time to fix the previous tutorials for the newer versions of the scikit-learn (sklearn) package nor to answer all the questions, but - [Luigi's Codex Seraphinianus deep learning dreams](https://blog.christianperone.com/2015/08/luigis-codex-seraphinianus-deep-learning-dreams/) - Experimentations of inceptionism with Codex Seraphinianus images. - [Google's S2, geometry on the sphere, cells and Hilbert curve](https://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/) - Update - 05 Dec 2017: Google just announced that it will be commited to the development of a new released version of the S2 library, amazing news, repository can be found here. Google's S2 library is a real treasure, not only due to its capabilities for spatial indexing but also because it is a library that - [Google's S2, geometry on the sphere, cells and Hilbert curve](https://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/) - Update - 05 Dec 2017: Google just announced that it will be commited to the development of a new released version of the S2 library, amazing news, repository can be found here. Google's S2 library is a real treasure, not only due to its capabilities for spatial indexing but also because it is a library that - [Deep learning - Convolutional neural networks and feature extraction with Python](https://blog.christianperone.com/2015/08/convolutional-neural-networks-and-feature-extraction-with-python/) - Convolutional neural networks (or ConvNets) are biologically-inspired variants of MLPs, they have different kinds of layers and each different layer works different than the usual MLP layers. If you are interested in learning more about ConvNets, a good course is the CS231n - Convolutional Neural Newtorks for Visual Recognition. The architecture of the CNNs are shown in - [Convolutional Neural Networks Presentation](https://blog.christianperone.com/2015/10/convolutional-neural-networks-presentation/) - Just published this deck of slides of a presentation about Deep Learning and Convolutional Neural Networks. - [Convolutional hypercolumns in Python](https://blog.christianperone.com/2016/01/convolutional-hypercolumns-in-python/) - If you are following some Machine Learning news, you certainly saw the work done by Ryan Dahl on Automatic Colorization (Hacker News comments, Reddit comments). This amazing work uses pixel hypercolumn information extracted from the VGG-16 network in order to colorize images. Samim also used the network to process Black & White video frames and produced - [Voynich Manuscript: word vectors and t-SNE visualization of some patterns](https://blog.christianperone.com/2016/01/voynich-manuscript-word-vectors-and-t-sne-visualization-of-some-patterns/) - Update 17/01: reddit discussion thread. Update 19/01: hacker news thread. The codex The Voynich Manuscript is a hand-written codex written in an unknown system and carbon-dated to the early 15th century (1404–1438). Although the manuscript has been studied by some famous cryptographers of the World War I and II, nobody has deciphered it yet. The manuscript is - [Convolutional Neural Networks - Architectural Zoo](https://blog.christianperone.com/2016/06/convolutional-neural-networks-architectural-zoo/) - Presentation about an "Achitectural Zoo" of different applications and architectures of CNNs. Presented at Machine Learning Meetup in Porto Alegre yesterday. Video (there are english subtitles available): - [JIT native code generation for TensorFlow computation graphs using Python and LLVM](https://blog.christianperone.com/2016/08/jit-native-code-generation-for-tensorflow-computation-graphs-using-python-and-llvm/) - Update: Hacker News discussion here. The TensorFlow Computation Graph One of the most amazing components of the TensorFlow architecture is the computation graph that can be serialized using Protocol Buffers. This computation graph follows a well-defined format (click here for the proto files) and describes the computation that you specify (it can be a Deep Learning model like a - [Introduction to Word Embeddings](https://blog.christianperone.com/2017/02/introduction-to-word-embeddings/) - Just publised a deck of slides for an Introduction to Word Embeddings, presented at our Machine Learning Meetup in Porto Alegre / RS / Brazil. Here is the video (in Portugese): - [The effective receptive field on CNNs](https://blog.christianperone.com/2017/11/the-effective-receptive-field-on-cnns/) - Given the interesting recent article on "The Emergence of a Fovea while Learning to Attend", I decide to make a review of the paper written by Luo, Wenjie et al. called "Understanding the Effective Receptive Field in Deep Convolutional Neural Networks" where they introduced the idea of the "Effective Receptive Field" (ERF) and the surprising - [Privacy-preserving sentence semantic similarity using InferSent embeddings and secure two-party computation](https://blog.christianperone.com/2018/01/privacy-preserving-infersent/) - Privacy-preserving Computation Privacy-preserving computation or secure computation is a sub-field of cryptography where two (two-party, or 2PC) or multiple (multi-party, or MPC) parties can evaluate a function together without revealing information about the parties private input data to each other. The problem and the first solution to it were introduced in 1982 by an amazing - [Privacy-preserving sentence semantic similarity using InferSent embeddings and secure two-party computation](https://blog.christianperone.com/2018/01/privacy-preserving-infersent/) - Privacy-preserving Computation Privacy-preserving computation or secure computation is a sub-field of cryptography where two (two-party, or 2PC) or multiple (multi-party, or MPC) parties can evaluate a function together without revealing information about the parties private input data to each other. The problem and the first solution to it were introduced in 1982 by an amazing - [PyTorch - Internal Architecture Tour](https://blog.christianperone.com/2018/03/pytorch-internal-architecture-tour/) - Update 28 Feb 2019: I added a new blog post with a slide deck containing the presentation I did for PyData Montreal. Introduction Short intro to Python extension objects in C/C++ Zero-copy PyTorch Tensor to Numpy and vice-versa Tensor Storage Shared Memory DLPack: a hope for the Deep Learning frameworks Babel Introduction This post is - [NLP word representations and the Wittgenstein philosophy of language](https://blog.christianperone.com/2018/05/nlp-word-representations-and-the-wittgenstein-philosophy-of-language/) - I made an introductory talk on word embeddings in the past and this write-up is an extended version of the part about philosophical ideas behind word vectors. The aim of this article is to provide an introduction to Ludwig Wittgenstein's main ideas on linguistics that are closely related to techniques that are distributional (I'll talk what this - [Concentration inequalities - Part I](https://blog.christianperone.com/2018/08/concentration-inequalities-part-i/) - Introduction Concentration inequalities, or probability bounds, are very important tools for the analysis of Machine Learning algorithms or randomized algorithms. In statistical learning theory, we often want to show that random variables, given some assumptions, are close to its expectation with high probability. This article provides an overview of the most basic inequalities in the analysis - [PyTorch 1.0 tracing JIT and LibTorch C++ API to integrate PyTorch into NodeJS](https://blog.christianperone.com/2018/10/pytorch-1-0-tracing-jit-and-libtorch-c-api-to-integrate-pytorch-into-nodejs/) - Update 28 Feb 2019: I added a new blog post with a slide deck containing the presentation I did for PyData Montreal. Today, at the PyTorch Developer Conference, the PyTorch team announced the plans and the release of the PyTorch 1.0 preview with many nice features such as a JIT for model graphs (with and - [Time Maps: visualizing discrete events from Brazilian presidential election candidates](https://blog.christianperone.com/2018/10/time-maps-visualizing-discrete-events-from-brazilian-presidential-election-candidates/) - Introduction This last presidential election in Brazil was heavily marked by huge amounts of money being funneled to digital agencies and all kinds of targeting businesses that used Twitter, WhatsApp, and even SMS messages to propagate their content using their targeting strategies. Even before the elections, Cambridge Analytica was recorded mentioning their involvement in Brazil. What - [PyData Montreal slides for the talk: PyTorch under the hood](https://blog.christianperone.com/2019/02/pydata-montreal-slides-for-the-talk-pytorch-under-the-hood/) - These are the slides of the talk I presented on PyData Montreal on Feb 25th. It was a pleasure to meet you all ! Thanks a lot to Maria and Alexander for the invitation ! - [Randomized prior functions in PyTorch](https://blog.christianperone.com/2019/03/randomized-prior-functions-in-pytorch/) - I was experimenting with the approach described in "Randomized Prior Functions for Deep Reinforcement Learning" by Ian Osband et al. at NPS 2018, where they devised a very simple and practical method for uncertainty using bootstrap and randomized priors and decided to share the PyTorch code. I really like bootstrap approaches, and in my opinion, - [Benford law on GPT-2 language model](https://blog.christianperone.com/2019/06/benford-law-on-gpt-2-language-model/) - I wrote some months ago about how the Benford law emerges from language models, today I decided to evaluate the same method to check how the GPT-2 would behave with some sentences and it turns out that it seems that it is also capturing these power laws. You can find some plots with the examples - [Numpy dispatcher: when Numpy becomes a protocol for an ecosystem](https://blog.christianperone.com/2019/07/numpy-dispatcher-when-numpy-becomes-a-protocol-for-an-ecosystem/) - Introduction Not a lot of people working with the Python scientific ecosystem are aware of the NEP 18 (dispatch mechanism for NumPy’s high-level array functions). Given the importance of this protocol, I decided to write this short introduction to the new dispatcher that will certainly bring a lot of benefits for the Python scientific ecosystem. - [Uncertainty Estimation in Deep Learning (PyData Lisbon / July 2019)](https://blog.christianperone.com/2019/07/uncertainty-estimation-in-deep-learning-pydata-lisbon-july-2019/) - Just sharing some slides I presented at the PyData Lisbon on July 2019 about the talk "Uncertainty Estimation in Deep Learning": https://www.slideshare.net/perone/uncertainty-estimation-in-deep-learning - [Visualizing network ensembles with bootstrap and randomized priors](https://blog.christianperone.com/2019/07/visualizing-network-ensembles-with-bootstrap-and-randomized-priors/) - A few months ago I made a post about Randomized Prior Functions for Deep Reinforcement Learning, where I showed how to implement the training procedure in PyTorch and how to extract the model uncertainty from them. Using the same code showed earlier, these animations below show the training of an ensemble of 40 models with - [Listening to the neural network gradient norms during training](https://blog.christianperone.com/2019/08/listening-to-the-neural-network-gradient-norms-during-training/) - Training neural networks is often done by measuring many different metrics such as accuracy, loss, gradients, etc. This is most of the time done aggregating these metrics and plotting visualizations on TensorBoard. There are, however, other senses that we can use to monitor the training of neural networks, such as sound. Sound is one of - [10 years of blogging !](https://blog.christianperone.com/2019/01/10-years-of-blogging/) - Hi all ! This post is to celebrate 10 years of blogging with an average of 1 post per month. It was a quite cool adventure ! Here is the full table of contents for those interested: - [Introducing EuclidesDB - A machine learning feature database](https://blog.christianperone.com/2018/11/introducing-euclidesdb-a-machine-learning-feature-database/) - Past week I released the first public version of EuclidesDB. EuclidesDB is a multi-model machine learning feature database that is tightly coupled with PyTorch and provides a backend for including and querying data on the model feature space. For more information, see the GitHub repository or the documentation. Some features of EuclidesDB are listed below: - [Análise bayesiana dos microdados do ENEM do Rio Grande do Sul](https://blog.christianperone.com/2018/10/analise-bayesiana-dos-microdados-do-enem-do-rio-grande-do-sul/) - * This post is in Portuguese. It's a bayesian analysis of a Brazilian national exam. The main focus of the analysis is to understand the underlying factors impacting the participants performance on ENEM. Este tutorial apresenta uma análise breve dos microdados do ENEM do Rio Grande do Sul do ano de 2017. O principal objetivo - [Benford's law emerges from deep language model](https://blog.christianperone.com/2018/10/benfords-law-emerges-from-deep-language-model/) - I was experimenting with the digits distribution from a pre-trained (weights from the OpenAI repository) Transformer language model (LM) and I found a very interesting correlation between the Benford's law and the digit distribution of the language model after conditioning it with some particular phrases. Below is the correlation between the Benford's law and the language model - [Benford's law emerges from deep language model](https://blog.christianperone.com/2018/10/benfords-law-emerges-from-deep-language-model/) - I was experimenting with the digits distribution from a pre-trained (weights from the OpenAI repository) Transformer language model (LM) and I found a very interesting correlation between the Benford's law and the digit distribution of the language model after conditioning it with some particular phrases. Below is the correlation between the Benford's law and the language model - [Raspberry Pi & Arduino: a laser pointer communication and a LDR voltage sigmoid](https://blog.christianperone.com/2012/08/raspberry-pi-arduino-a-laser-pointer-communication-and-a-ldr-voltage-sigmoid/) - So I finally got some more time to play with my Raspberry Pi GPIOs and Arduino, this post will explain how to use a LDR (Photoresistor, Light Dependent Resistor) on the Raspberry Pi to detect a laser light emitted by an Arduino. Plugging the laser module on Arduino Isn't easy to plug a module when - [Rastreamento em tempo real de avioes em Porto Alegre utilizando Raspberry Pi + Radio UHF (SDR RTL2832U)](https://blog.christianperone.com/2013/02/rastreamento-em-tempo-real-de-avioes-em-porto-alegre-utilizando-raspberry-pi-radio-uhf-sdr-rtl2832u/) - * This post is in Portuguese. SDR (Software-Defined Radio) SDR é uma área de radiocomunicação baseada em uma ideia muito simples: implementar em software o que antes era implementado em hardware (ex: mod/demod, filtros, etc). O fato do SDR estar se tornando uma tendência hoje se dá principalmente pelo baixo custo de alguns receptores como - [Simple and effective coin segmentation using Python and OpenCV](https://blog.christianperone.com/2014/06/simple-and-effective-coin-segmentation-using-python-and-opencv/) - The new generation of OpenCV bindings for Python is getting better and better with the hard work of the community. The new bindings, called "cv2" are the replacement of the old "cv" bindings; in this new generation of bindings, almost all operations returns now native Python objects or Numpy objects, which is pretty nice since - [New prime on the block](https://blog.christianperone.com/2018/01/new-prime-on-the-block/) - The GIMPS (Great Internet Mersenne Prime Search) has confirmed yesterday the new largest known prime number: 277,232,917-1. This new largest known prime has 23,249,425 digits and is, of course, a Mersenne prime, prime numbers expressed in the form of 2n - 1, where the primality can be efficiently calculated using Lucas-Lehmer primality test. One of - [Benford's Law meets Python and Apple Stock Prices](https://blog.christianperone.com/2009/04/benfords-law-meets-python-and-apple-stock-prices/) - UPDATE: See the post "Delicious.com, checking user numbers against Benford’s Law" if you want to see an one more example. UPDATE 2: Brandon Gray has done a nice related work in Clojure, here is the link to the blog. As Wikipedia says: Benford's law, also called the first-digit law, states that in lists of numbers - [Benford's Law meets Python and Apple Stock Prices](https://blog.christianperone.com/2009/04/benfords-law-meets-python-and-apple-stock-prices/) - UPDATE: See the post "Delicious.com, checking user numbers against Benford’s Law" if you want to see an one more example. UPDATE 2: Brandon Gray has done a nice related work in Clojure, here is the link to the blog. As Wikipedia says: Benford's law, also called the first-digit law, states that in lists of numbers - [Benford's law - Index](https://blog.christianperone.com/2017/11/benfords-law-index/) - Since Benford's law got some attention in the past years, I decided to make a list of the previous posts I made on the subject in the context of elections, fraud, corruption, universality and prime numbers: Despesas de Custeio e Lei de Benford (June 2014 - in Portuguese) Universality, primes and space communication (January 2014) An analysis - [Nanopipe: connecting the modern babel](https://blog.christianperone.com/2016/10/nanopipe-connecting-the-modern-babel/) - For more information, see official documentation site or the official Github repository. Hello everyone, I just released the Nanopipe project. Nanopipe is a library that allows you to connect different message queue systems (but not limited to) together. Nanopipe was built to avoid the glue code between different types of communication protocols/channels that is very common nowadays. - [Real time Drone object tracking using Python and OpenCV](https://blog.christianperone.com/2015/01/real-time-drone-object-tracking-using-python-and-opencv/) - After flying this past weekend (together with Gabriel and Leandro) with Gabriel's drone (which is an handmade APM 2.6 based quadcopter) in our town (Porto Alegre, Brasil), I decided to implement a tracking for objects using OpenCV and Python and check how the results would be using simple and fast methods like Meanshift. The result was very - [Arduino and OLED display to monitor Redis for fun and profit](https://blog.christianperone.com/2015/01/arduino-and-oled-display-to-monitor-redis-for-fun-and-profit/) - I'm working on a new platform (hardware, firmware and software) to create "Stat Cubes", which are tiny devices with OLED displays and wireless to monitor services or anything you want. While working on it I've made a little proof-of-concept using Arduino to monitor Redis server statistics. The Stat Cubes will be open-source in future but I've - [Recebendo dados de baloes meteorologicos da Aeronautica](https://blog.christianperone.com/2014/07/recebendo-dados-de-baloes-meteorologicos-da-aeronautica/) - * This post is in portuguese Hoje finalmente consegui rastrear um dos balões meteorológicos que a aeronáutica lança duas vezes por dia aqui em Porto Alegre / RS. A aeronáutica utiliza as sondas da Vaisala (uma empresa finlandesa) modelo RS-92SGP para realizar as medições de umidade, temperatura e pressão. Estes dados são geralmente utilizados para - [Despesas de Custeio e Lei de Benford](https://blog.christianperone.com/2014/06/despesas-de-custeio-e-lei-de-benford/) - * This post is in Portuguese. Há poucos dias, a prefeitura de Porto Alegre liberou os datasets com os dados de despesas de custeio de vários órgãos municipais (Secretaria Municipal de Saúde, Secretaria Municipal de Cultura, Gabinete do Prefeito, etc.). O plot abaixo mostra a quantidade de empenhos para cada órgão municipal: Uma das maneiras utilizadas - [The beauty of Bitcoin P2P network](https://blog.christianperone.com/2013/12/the-beauty-of-bitcoin-p2p-network/) - So, in the last days I just released Protocoin, a framework in pure Python with a Bitcoin P2P network implementation. While I'm in process of development of the v.0.2 of the framework (with new and nice features like Bitcoin keys management - you can see some preview here) I would like to show a real-time - [Protocoin - a pure Python Bitcoin protocol implementation](https://blog.christianperone.com/2013/11/protocoin-a-pure-python-bitcoin-protocol-implementation/) - Just release the first version of Protocoin, a pure Python Bitcoin protocol implementation, for more information see the documentation or the project in Github. If you want to donate for the project, my Bitcoin address is: 1Q6JZEE5turJXaTn1fburWkqjhC4oMJ4yV. I hope you like it ! - Christian S. Perone - [Mapa de calor dos dados de acidentes de transito do DataPoa](https://blog.christianperone.com/2013/11/mapa-de-calor-dos-dados-de-acidentes-de-transito-do-datapoa/) - Esta semana será disponibilzada a nova versão do Django GIS Brasil, segue abaixo um exemplo de mapa criado usando os novos dados do Django GIS Brasil importados do DataPoa. O exemplo abaixo é um mapa de calor utilizando os dados de acidentes de trânsito em Porto Alegre /RS durante os anos de 2000 até 2012. Os eixos - [Book Suggestion: Codex Seraphinianus](https://blog.christianperone.com/2013/11/book-suggestion-codex-seraphinianus/) - Today the Codex Seraphinianus just arrived (after months waiting in the pre-order state). I bought it from Amazon and I really recommend this edition for those who are interested because this is a very large edition with high quality textured paper and beautiful printing style. The book has also in the end a pocket with a - [Raspberry Pi no Brasil](https://blog.christianperone.com/2012/08/raspberry-pi-no-brasil/) - * This post is in portuguese Bom, finalmente chegou meu tão esperado Raspberry Pi, consegui efetuar a compra através de uma fila de espera (estou nesta fila desde o primeiro dia de Março de 2012) na Farnell Newark do Brasil que fez a importação de um (ou mais) lotes da Element 14 e agora está distribuindo - [Review Board - Review Requests plotting using Python](https://blog.christianperone.com/2012/07/review-board-review-requests-plotting-using-python/) - Review Board is one of these projects that Python community is always proud of, I really think that it became the de facto standard for code reviews nowadays. Review Board comes with an interesting an very useful REST API which you can use to retrieve information about the code reviews, comments, diffs and every single - [Accessing HP Cloud OpenStack Nova using Python and Requests](https://blog.christianperone.com/2012/02/accessing-hp-cloud-openstack-nova-using-python-and-requests/) - So, my request to enter on the free and private beta season of the new HP Cloud Services was gently accepted by the HP Cloud team, and today I finally got some time to play with the OpenStack API at HP Cloud. I'll start with the first impressions I had with the service: The user - [Announce: Stallion v0.2 released !](https://blog.christianperone.com/2011/12/announce-stallion-v0-2-released/) - I just tagged and released the v0.2 version of the Stallion. In the change log (Github project page), you can see that a lot of bugs were fixed and some new features were introduced in this release. I added compatibility with almost all Python 2.x versions, PyPy 1.7+ (and probably older versions too), I also - [Announce: 'Stallion' - Python Package Manager](https://blog.christianperone.com/2011/12/announce-stallion-python-package-manager/) - I'm happy to announce the first release v.0.1 of the Stallion project. Stallion is a visual Python package manager compatible with Python 2.6 and 2.7 (I still haven't tested it with Python 2.5). The motivation behind Stallion is to provide an user friendly visualization with some management features (most of them are still under development) - [C++11 user-defined literals and some constructions](https://blog.christianperone.com/2011/11/c11-user-defined-literals-and-some-constructions/) - I was taking a look at the proposal N2765 (user-defined literals) already implemented on the development snapshots of the GCC 4.7 and I was thinking in how user-defined literals can be used to create some interesting and sometimes strange constructions. Introduction to user-defined literals C++03 has some literals, like the "f" in "12.2f" that converts - [The Interactive Robotic Painting Machine !](https://blog.christianperone.com/2011/08/the-interactive-robotic-painting-machine/) - I'm glad to announce a project created by Benjamin Grosser called "Interactive Robotic Painting Machine". The machine uses Python and Pyevolve as it's Genetic Algorithm core, the concept is very interesting: What I’ve built to consider these questions is an interactive robotic painting machine that uses artificial intelligence to paint its own body of work - [Pyevolve - new repository at Github](https://blog.christianperone.com/2011/08/pyevolve-new-repository-at-github/) - I've moved the Pyevolve SVN repository hosted at sourceforge.net to a new Github repository. The new official Pyevolve repository is now located at https://github.com/perone/Pyevolve. - [News: Algorithm searches for models that best explain experimental data](https://blog.christianperone.com/2011/08/news-algorithm-searches-for-models-that-best-explain-experimental-data/) - From the original news article from PhysOrg: An evolutionary computation approach developed by Franklin University’s Esmail Bonakdarian, Ph.D., was used to analyze data from two classical economics experiments. As can be seen in this figure, optimization of the search over subsets of the maximum model proceeds initially at a quick rate and then slowly continues - [C++0x :: Introduction to some amazing features](https://blog.christianperone.com/2011/07/c0x-introduction-to-some-amazing-features/) - I've made those slides in March of this year to a training session, I was expecting to get time to update it to cover more features but I wasn't able to do that yet, so I'm publishing it here for those who are interested in some of the new language features. C++0x :: Introduction to - [The bad good news for optimization](https://blog.christianperone.com/2011/07/the-bad-good-news-for-optimization/) - A new published paper called "NP-hardness of Deciding Convexity of Quartic Polynomials and Related Problems" brings light (or darkness) into a 20 years-old problem related to the whether or not does exist a polynomial time algorithm that can decide if a multivariate polynomial is globally convex. The answer is: NO. From the news article: For - [Hiatus](https://blog.christianperone.com/2011/05/hiatus/) - I'm going to travel on my vacations, so there will be no posts here until the end of June, farewell ! Call me Ishmael. Some years ago — never mind how long precisely — having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail - [PyCon 2011: Genetic Programming in Python](https://blog.christianperone.com/2011/03/pycon-2011-genetic-programming-in-python/) - I would like to share the video of the Eric Floehr (from ForecastWatch / Intellovations) presentation at PyCon 2011: - [Using pyearthquake to plot Japan USGS earthquake data into the near real-time MODIS satellite imagery](https://blog.christianperone.com/2011/03/using-pyearthquake-to-plot-japan-usgs-earthquake-into-the-near-real-time-modis-satellite-imagery/) - The aim of this post is to show to the reader how to plot the recent Japan earthquake data from the USGS using the pyearthquake module. If you want to know more information about the pyearthquake module, take a look in this post where I previously used it. pyearthquake is a pure-python module which exposes - [Invite: PyCon US 2011 - Genetic Programming in Python](https://blog.christianperone.com/2011/03/invite-pycon-us-2011-genetic-programming-in-python/) - If you are going to PyCon US 2011, I would like to invite you to the talk "Genetic Programming in Python", the talk will be given by Eric Floehr on March 12th 1:20 p.m. – 2:05 p.m. Here is the abstract: Did you know you can create and evolve programs that find solutions to problems? - [Health and Genetic Algorithms](https://blog.christianperone.com/2011/02/health-and-genetic-algorithms/) - From R&D Mag - Developing a potential life-saving mathematical tool -: Math and medicine are coming together to help people who have suffered an abdominal aortic aneurysm, which with 15,000 is the 13th-leading cause of death in the United States. At the heart of the effort are genetic algorithms written by Oak Ridge National Laboratory - [Google Analytics Visualization](https://blog.christianperone.com/2011/02/google-analytics-visualization/) - Sometime ago I discovered the project called Gource, which is a Software Version Control Visualization tool created by Andrew Caudwell. Gource has a very interesting visualization structure which isn't exclusive to Version Control systems, but also for a large variety of data; actually, you can create your own custom log (see CustomLogFormat wiki for more - [Darwin on the track](https://blog.christianperone.com/2010/11/darwin-on-the-track/) - From The Economist article: WHILE watching the finale of the Formula One grand-prix season on television last weekend, your correspondent could not help thinking how Darwinian motor racing has become. Each year, the FIA, the international motor sport’s governing body, sets new design rules in a bid to slow the cars down, so as to - [Capturing and comparing writers profiles through Markov chains](https://blog.christianperone.com/2010/09/capturing-and-comparing-writers-profiles-through-markov-chains/) - Any text structure can be represented using Markov Chain states and transition probabilities, for the sake of simplicity I'll not use probabilities to describe the state transitions, I'll use only true or false, saying only that this transition is possible or not (100% or 0%). A Markov Chain in this simple form can be formulated - [Capturing and comparing writers profiles through Markov chains](https://blog.christianperone.com/2010/09/capturing-and-comparing-writers-profiles-through-markov-chains/) - Any text structure can be represented using Markov Chain states and transition probabilities, for the sake of simplicity I'll not use probabilities to describe the state transitions, I'll use only true or false, saying only that this transition is possible or not (100% or 0%). A Markov Chain in this simple form can be formulated - [PyOhio 2010: Genetic Programming in Python](https://blog.christianperone.com/2010/08/pyohio-2010-genetic-programming-in-python/) - Eric Floehr (from Intellovations) kindly sent me the presentation he presented at PyOhio 2010. I think Eric has captured some nice features of Pyevolve which few people use, like DB Adapters, dot plotting, Interactive Mode, Real Time statistics, etc. He also presents an interesting use case where he uses Genetic Programming in order to forecast - [New SIGEVOlution Volume 5 Issue 1](https://blog.christianperone.com/2010/05/new-sigevolution-volume-5-issue-1/) - From Pier Luca Lanzi site, the issue features: EC Testing of Embedded Systems by Peter M. Kruse, Joachim Wegener and Stefan Wappler Competitions @ GECCO-2010 by Christian Gagné Events reports: NICSO-2010 by David Pelta Dissertation corner New issues of journals Calls & calendar - [The future can be written in RPython now](https://blog.christianperone.com/2010/05/the-future-can-be-written-in-rpython-now/) - Following the recent article arguing why PyPy is the future of Python, I must say, PyPy is not the future of Python, is the present. When I have tested it last time (PyPy-c 1.1.0) with Pyevolve into the optimization of a simple Sphere function, it was at least 2x slower than Unladen Swallow Q2, but - [Pyevolve 0.6rc1 released !](https://blog.christianperone.com/2010/04/pyevolve-0-6rc1-released/) - I'm proud to announce the Pyevolve 0.6rc1 ! This is the first release candidate, but it's pretty stable for production use (as from this 0.6 version we are very closer to a stable codebase, thanks to community). See the documentation site and the What's New. I would like to thank the people who directly or - [Riemann Zeta function visualizations with Python](https://blog.christianperone.com/2010/02/riemann-zeta-function-visualizations-with-python/) - While playing with mpmpath and it's Riemann Zeta function evaluator, I came upon those interesting animated plottings using Matplotlib (the source code is in the end of the post). Riemann zeta function is an analytic function and is defined over the complex plane with one complex variable denoted as "". Riemann zeta is very important - [New issue of SIGEVOlution (Volume 4 Issue 3)](https://blog.christianperone.com/2010/02/new-issue-of-sigevolution-volume-4-issue-3/) - The new issue of SIGEVOlution (the newsletter of ACM Special Interest Group on Genetic and Evolutionary Computation) was released: In this release you can read about: Issues in applying computational intelligence By Arthur Kordon JavaXCSF By Patrick O. Stalph, Martin V. Butz And a lot of information about new PhD theses, new journal issues and - [News: Using genetic algorithms to optimise current and future health planning](https://blog.christianperone.com/2010/01/news-using-genetic-algorithms-to-optimise-current-and-future-health-planning/) - From a publication of 28/10/2010, of the authors Saoshi Sasaki, Alexis J Comber, Hiroshi Suzuki and Chris Brunsdon: Background Ambulance response time is a crucial factor in patient survival. The number of emergency cases (EMS cases) requiring an ambulance is increasing due to changes in population demographics. This is decreasing ambulance response times to the - [New issue of SIGEVOlution, Volume 4 Issue 2](https://blog.christianperone.com/2010/01/new-issue-of-sigevolution-volume-4-issue-2/) - The new issue of SIGEVOlution is public available ! In this issue, you'll found an interview with Hans-Paul Schwefel by my fellow countryman, Marcelo de Brito (or Genetic Argonaut). Congratulations to the board ! - [Exploring real-time Haiti USGS Earthquake data with near real-time MODIS Aqua+Terra satellite imagery using Python](https://blog.christianperone.com/2010/01/exploring-real-time-haiti-usgs-earthquake-data-with-near-real-time-modis-aquaterra-satellite-imagery-using-python/) - Some time ago I'd done a post about acessing the MODIS near-real time satellite images using Python and the data public available at NASA MODIS, if you are interested in those images, take a look in the post here. I've created now a Python package called pyearthquake to automatic retrieve any MODIS subset image from - [Exploring real-time Haiti USGS Earthquake data with near real-time MODIS Aqua+Terra satellite imagery using Python](https://blog.christianperone.com/2010/01/exploring-real-time-haiti-usgs-earthquake-data-with-near-real-time-modis-aquaterra-satellite-imagery-using-python/) - Some time ago I'd done a post about acessing the MODIS near-real time satellite images using Python and the data public available at NASA MODIS, if you are interested in those images, take a look in the post here. I've created now a Python package called pyearthquake to automatic retrieve any MODIS subset image from - [Pyevolve in action, solving a 100 cities TSP problem](https://blog.christianperone.com/2009/12/pyevolve-in-action-solving-a-100-cities-tsp-problem/) - Here is the video of Pyevolve (the development version) optimizing a 100 cities TSP problem. I've used the Edge Recombination and the simple Swap Mutation method: The video is a composition the of image outputs at every 100th generation and only when the score has changed when compared to the previous generation. I'll release the - [Pyevolve on SIGEVOlution](https://blog.christianperone.com/2009/11/pyevolve-on-sigevolution/) - I'm proud to announce that Pyevolve is featuring on the last issue of SIGEVOlution (Volume 4, Issue 1), a newsletter from the ACM Special Interest Group on Evolutionary Computation. I would like to thank the newsletter editor Pier Luca Lanzi and the board for the corrections in the article and for the well done reformatted - [Pyevolve benchmark on different Python flavors](https://blog.christianperone.com/2009/10/pyevolve-benchmark-on-different-python-flavors/) - So I did a comparative of Pyevolve GP/GA core in different Python interpreters. I've used my Pentium Core 2 Duo (E4500 @ 2.20GHz, 1GB RAM), using Ubuntu 9.04 and Windows XP SP3 just for IronPython 2.6.1 (IronPython doesn't run with Mono, so I used the win xp with .net 2.0). The interpreters used were: Unladen - [Successful pyevolve multiprocessing speedup for Genetic Programming](https://blog.christianperone.com/2009/10/successful-pyevolve-multiprocessing-speedup-for-genetic-programming/) - As we know, Genetic Programming usually requires intensive processing power for the fitness functions and tree manipulations (in crossover operations), and this fact can be a huge problem when using a pure Python approach like Pyevolve. So, to overcome this situation, I've used the Python multiprocessing features to implement a parallel fitness evaluation approach in - [Meanwhile, at the Hall of Justice!](https://blog.christianperone.com/2009/10/meanwhile-at-the-hall-of-justice/) - UPDATE 05/10: there is an article in the Physorg too. Sometimes we face new applications for EC, but for this I was not expecting, from Eurekalert: WASHINGTON, Oct. 5 -- Criminals are having a harder time hiding their faces, thanks to new software that helps witnesses recreate and recognize suspects using principles borrowed from the - [Beautiful Django](https://blog.christianperone.com/2009/10/beautiful-django/) - The ugly web is over; the trick is to add a Django middleware to process every HttpResponse (with content-type text/html) of Django using BeautifulSoup. The source-code of the middleware is simple: from BeautifulSoup import BeautifulSoup class BeautifulMiddleware(object): def process_response(self, request, response): if response.status_code == 200: if response["content-type"].startswith("text/html"): beauty = BeautifulSoup(response.content) response.content = beauty.prettify() return response - [On the irreversibility of evolution](https://blog.christianperone.com/2009/09/on-the-irreversibility-of-evolution/) - Today I've read about an important work done by a team of evolutionary biologists of the University of Oregon, which reveals an important result about the evolutionary irreversibility. The concept of irreversibility states that the future results of evolution at any point in time must depend on the present state and by the past, showing - [New SIGEvolution issue - Volume 3 Issue 4!](https://blog.christianperone.com/2009/09/new-sigevolution-issue-volume-3-issue-4/) - Great news, the new issue of SIGEvolution was released, click in the cover above to go to the SIGEvolution site; this issue has an interview is with Hans-Paul Schwefel. - [n-queens problem using Pyevolve](https://blog.christianperone.com/2009/09/n-queens-problem-using-pyevolve/) - Last night I've read a post on Reddit written by Matthew Rollings showing a code in Python to solve Eight Queens puzzle using EA. So I decided to implement it in Python again but this time using Pyevolve, here is the code: from pyevolve import * from random import shuffle BOARD_SIZE = 64 def queens_eval(genome): collisions - [Word is smart, but OpenOffice is wise](https://blog.christianperone.com/2009/09/word-is-smarter-but-openoffice-is-wise/) - UPDATE 19/09: it seems that some people had misunderstood the post title, so here is a clarification: I'm not comparing Word with OpenOffice or something like that, the title refers to the design choices of OpenOffice in using Python 2.6 as an option for scripting language, it's a humorous title and should not be considered - [Send Subversion commit messages to Twitter](https://blog.christianperone.com/2009/08/send-subversion-commit-messages-to-twitter/) - Hello, this is a bridge between Subversion (svn) and Twitter, the intent of this tool is to update a Twitter account when new commit messages arrives in a Subversion repository. We almost never have access to svn repository to add a post-commit hook in a way to call our script and send updates to twitter, - [Announce: python-gstringc 1.0](https://blog.christianperone.com/2009/08/announce-python-gstringc-10/) - Last week I've done the ctype wrapper of Glib GString, but the performance issues when compared with cStringIO or StringIO was very poor, due to overhead of the ctypes calls. So I've written a new C extension for Python, the source-code (for linux) and install packages (for win32) are available at the project site. Here - [Pyevolve: announce of the user group](https://blog.christianperone.com/2009/08/pyevolve-announce-of-the-user-group/) - This post is to announce the Pyevolve user group I've created, since some users are requesting it and I think it's important to exchange experiences and help users, here is the group (it's hosted on google groups). Cya ! - [Pyevolve: announce of the user group](https://blog.christianperone.com/2009/08/pyevolve-announce-of-the-user-group/) - This post is to announce the Pyevolve user group I've created, since some users are requesting it and I think it's important to exchange experiences and help users, here is the group (it's hosted on google groups). Cya ! - [GLib GString wrapper for Python](https://blog.christianperone.com/2009/08/glib-gstring-wrapper-for-python/) - I've done a little wrapper of GLib/GString functionality using Python ctypes. GString of GLib is an amazing and very stable work done by GLib team, the core used by GTK+ and many other libraries. The wrapper I've done works in Windows and Linux, but the performance results seems more interesting for Windows, however, the GString - [Jinja2 in a Java JSP](https://blog.christianperone.com/2009/07/jinja2-in-a-java-jsp/) - This is a simple trick possible using Jython; to call jinja2 template engine under JSP we instantiate the PythonInterpreter class of Jython, set some parameters in the interpreter and then call jinja2 to render a template and write to the Java "out" object. To install Jython, just download the last stable version Jython 2.5 and - [Approximating Pi number using Genetic Programming](https://blog.christianperone.com/2009/07/approximating-pi-number-using-genetic-programming/) - As many (or very few in the real life haha) people know, today is the Pi Approximation Day ! So it's time to make a contribution to celebrate this funny day =) My contribution is to use Python and Pyevolve to approximate Pi number using Genetic Programming approach. I've created the functions gp_add(+), gp_sub(-), gp_div(/), - [Genetic Programming and Flex layouts](https://blog.christianperone.com/2009/06/genetic-programming-and-flex-layouts/) - To show how Genetic Programming of Pyevolve can be flexible, I've done a simple example using Adobe Flex and Pyevolve, the example is just to show how to evolve some kind of Flex layouts, I've not implemented the fitness function, this example will just create a random Flex layout using MXML. So, here is the - [FISL 10 - "Forum Internacional de Software Livre"](https://blog.christianperone.com/2009/06/fisl-10-forum-internacional-de-software-livre/) - I'm very proud of my city today, because it is here (in Porto Alegre, RS, Brazil) that the FISL 2009 (10th) is happening ! The FISL is a conference which is attracting more than 7.000 attendees in the same time I'm writing this post. All these people (developers, companies, etc..) are here to talk and - [Benford's Law and the Iran's election](https://blog.christianperone.com/2009/06/benfords-law-and-the-irans-election/) - This post is just to point some interesting analysis using Benford's Law to check anomalies in the Iran's election, the first is from Walter Melbane, an expert in electoral fraud, the article "Note on the presidential election in Iran, June 2009" is available here. The second paper is from Boudewijn F. Roukema from Torun Centre - [Genetic Programming meets Python](https://blog.christianperone.com/2009/06/genetic-programming-meets-python/) - I'm proud to announce that the new versions of Pyevolve will have Genetic Programming support; after some time fighting with these evil syntax trees, I think I have a very easy and flexible implementation of GP in Python. I was tired to see people giving up and trying to learn how to implement a simple - [The Darwin's cake experiment](https://blog.christianperone.com/2009/06/the-darwins-cake-experiment/) - Suppose that you are the owner of a famous bakery, and you have a recipe of a really delicious cake which is well known and desired by many of your clients. Is in this scene that enters the Darwin's cake experiment. Suppose that you also have nearly 1.000 clients (you are very famous hehe) that - [Prime Numbers and the Benford's Law](https://blog.christianperone.com/2009/05/prime-numbers-and-the-benfords-law/) - Today, I read a news article from the Physorg.com about the new pattern found in the Prime Numbers, the article talks about the new discovery by Bartolo Luque and Lucas Lacasa: In a recent study, Bartolo Luque and Lucas Lacasa of the Universidad Politécnica de Madrid in Spain have discovered a new pattern in primes - [Evolving autopilots could boost space slingshots](https://blog.christianperone.com/2009/05/evolving-autopilots-could-boost-space-slingshots/) - From the NewScientist article: COULD space probes use genetic algorithms as autopilots to help them navigate the complexities of the solar system? Deep-space missions such as NASA's veteran z Voyager probes often rely on gravity assists. They use a planet's gravitational field as a slingshot, which allows them to visit other celestial bodies without using - [Pyevolve: Sourceforge.net Nomination](https://blog.christianperone.com/2009/05/pyevolve-sourceforgenet-nomination/) - Pyevolve is a free (as in freedom), free (as in free beer) and open-source project. If you use it and like it, you can help us by nominating it for the Sourceforge Community Choice Awards ! Here is the link for the nomination. - ['Evolutionary Algorithms' Mimic Natural Evolution In Silico And Lead To Innovative Solutions For Complex Problems](https://blog.christianperone.com/2009/05/evolutionary-algorithms-mimic-natural-evolution-in-silico-and-lead-to-innovative-solutions-for-complex-problems/) - An interesting news article was recently published by Science Daily, it talks mainly about the use of Evolutionary Algorithms to solve some complex problems like resource management in low rainfall regions, building bricks and automotive electronics: Extensive resource management is required in low rainfall regions, where groundwater reserves are rare and must be tapped with - [Pyevolve: Genetic Algorithms + Interactive Mode](https://blog.christianperone.com/2009/04/pyevolve-genetic-algorithms-interactive-mode/) - I've made a video of an example using the Pyevolve's Interactive Mode in the middle of the evolution of a Genetic Algorithm. The video is in high resolution, so you can see it here or clicking on the image below: - [Pyevolve: Genetic Algorithms + Interactive Mode](https://blog.christianperone.com/2009/04/pyevolve-genetic-algorithms-interactive-mode/) - I've made a video of an example using the Pyevolve's Interactive Mode in the middle of the evolution of a Genetic Algorithm. The video is in high resolution, so you can see it here or clicking on the image below: - [Delicious.com, checking user numbers against Benford's Law](https://blog.christianperone.com/2009/04/deliciouscom-checking-user-numbers-against-benfords-law/) - Sometimes, Benford's Law is used to check some datasets and detect fraud. If a dataset which is supposed to follow the Benford's Law distribution diverges from the law, we can say that the dataset is a possible fraud (caution with assumptions, and please, note the word "possible" here). So I had an idea to check - [More Twitter 3D videos](https://blog.christianperone.com/2009/04/more-twitter-3d-videos/) - Hirohisa Aoshima have fixed a bug (an issue on python-twitter when fetching more than 100 users) on Twitter 3D visualization tool and made another video (the blog is in Japanese). Here is the link direct to the video on YouTube. - [Digital Archeology Reveals Dinosaur Details using Genetic Algorithms](https://blog.christianperone.com/2009/04/digital-archeology-reveals-dinosaur-details-using-genetic-algorithms/) - From the article of LiveScience.com: The pick and shovel can go only so far in digging up details about dinosaurs. Now supercomputers are revealing knowledge about their anatomy otherwise lost to history. (...) For example, if the muscles connected to the thigh bone of a Tyrannosaurus rex were short, that would suggest it was angled - [Evolutionary Computation](https://blog.christianperone.com/2009/04/evolutionary-computation/) - There is a portuguese version of this post. Evolutionary computing (EC) has been widely used in recent years, and every year there are new applications for the techniques developed, despite being a relatively new area, few people are giving attention to that (at least in my vision and I will explain why) probably will have - [Computação Evolutiva](https://blog.christianperone.com/2009/04/computacao-evolutiva/) - A Computação Evolutiva (EC) tem sido sido muito utilizada nos últimos anos, e a cada ano que passa, surgem novas aplicações para as técnicas desenvolvidas; apesar de ser uma área relativamente nova, pouca gente está dando a devida atenção ao que (ao menos na minha visão, e vou explicar porque) provavelmente terá um futuro promissor - [Computer Program Self-Discovers Laws of Physics](https://blog.christianperone.com/2009/04/computer-program-self-discovers-laws-of-physics/) - From the Wired article: Initially, the equations generated by the program failed to explain the data, but some failures were slightly less wrong than others. Using a genetic algorithm, the program modified the most promising failures, tested them again, chose the best, and repeated the process until a set of equations evolved to describe the - [Pyevolve: LaTeX documentation](https://blog.christianperone.com/2009/03/pyevolve-latex-documentation/) - I created the LaTeX documentation for the 0.5 release of Pyevolve, the link is now on the front page of the documentation site. You can download the PDF documentation here. - [TSP on Nokia N73 using PyS60 and Pyevolve](https://blog.christianperone.com/2009/03/tsp-on-nokia-n73-using-pys60-and-pyevolve/) - As I promised on the post about Pyevolve on N73, I've ported the TSP problem to run on the cellphone. The script will draw the best individual of every generation on the screen using the PyS60 Canvas API. The quality of the video is very low, I'm using another cellphone with VGA only recording. When - [TSP on Nokia N73 using PyS60 and Pyevolve](https://blog.christianperone.com/2009/03/tsp-on-nokia-n73-using-pys60-and-pyevolve/) - As I promised on the post about Pyevolve on N73, I've ported the TSP problem to run on the cellphone. The script will draw the best individual of every generation on the screen using the PyS60 Canvas API. The quality of the video is very low, I'm using another cellphone with VGA only recording. When - [Good news for Python community](https://blog.christianperone.com/2009/03/good-news-for-pys60-python-for-symbian-mobiles/) - Good news for Python community ! PyS60 1.9.3 was released and now we have touch support ! Follow the list of changes from the project site: - Python core is upgraded to 2.5.4 - Touch event support is added to appuifw Canvas. An API is added to appuifw module, touch_enabled() for checking if the device - [Genetic Algorithms on cellphones ! Pyevolve on Nokia N73 (Symbian + PyS60)](https://blog.christianperone.com/2009/03/genetic-algorithms-on-cellphones-pyevolve-on-nokia-n73-symbian-pys60/) - Hello ! This is the 2nd post related to the Pyevolve on portable devices, the first was in the Sony PSP here and the PoC of Pyevolve solving the TSP problem with a graphical output of best individuals on the Sony PSP screen. Now, it's time to go further and run Pyevolve into the most - [Happy Birthday Genetic Argonaut !](https://blog.christianperone.com/2009/03/happy-birthday-genetic-argonaut/) - Today is the fourth Genetic Argonaut birthday ! So take a time to visit the blog of my great fellow countryman Marcelo de Brito. I'm following his blog since years ago, there is a lot of contents to read. Pauca, Sed Matura! Congratulations man ! Keep walking. - [Travelling Salesman on Sony PSP using Stackless Python + Pyevolve](https://blog.christianperone.com/2009/03/travelling-salesman-on-sony-psp-using-stackless-python-pyevolve/) - This is my first PoC of the Travelling Salesman Problem on PSP, since I've installed the Pyevolve on the Sony PSP, I can optimize any problem while using the graphical interface of PSP (in that problem I'm using the 2D functions to plot the cities and the path) to show results in real-time. Here is - [Google Search Insight for GA and GP](https://blog.christianperone.com/2009/03/google-search-insights-for-ga-and-gp/) - I have done a search for the keywords "genetic algorithm" and "genetic programming" on Google Insights for Search and I noticed that India is the region with the most interest on this search terms: I've used the category "Science" to remove some terms of other search categories, but unfortunately this is only an approximation of - [Rosenbrock's banana function and friends](https://blog.christianperone.com/2009/03/rosenbrocks-banana-function-and-friends/) - This post is a report of an optimization test suite applied to Pyevolve GA Core. I'm writing a paper about Pyevolve and I've done some tests on the GA quality of Pyevolve with must common optimization test functions: Schaffer, Rastringin, Sphere, Ackley and the absolute GA-hard Rosenbrock. Follows in the end of the post, the - [Rosenbrock's banana function and friends](https://blog.christianperone.com/2009/03/rosenbrocks-banana-function-and-friends/) - This post is a report of an optimization test suite applied to Pyevolve GA Core. I'm writing a paper about Pyevolve and I've done some tests on the GA quality of Pyevolve with must common optimization test functions: Schaffer, Rastringin, Sphere, Ackley and the absolute GA-hard Rosenbrock. Follows in the end of the post, the - [Pyevolve on Sony PSP ! (genetic algorithms on PSP)](https://blog.christianperone.com/2009/03/pyevolve-on-sony-psp-genetic-algorithms-on-psp/) - Sony PSP can be more interesting than funny sometimes. Few people know about the potential of the PSP port of Stackless Python 2.5.2. This great port of python was done by Carlos E. and you can find more information about the progress of the port on his blog. Well, I've tested the Pyevolve GA framework - [Pyevolve: the effect of Linear Scaling](https://blog.christianperone.com/2009/03/pyevolve-the-effect-of-linear-scaling/) - There's an interesting graph in Pyevolve which is a heat-like graph of the population raw and fitness scores. In this graph you can note the effect of Linear Scaling over the scores, the raw scores graph is in left and the fitness scaled scores is in the right, this plot uses the Gaussian interpolation method. - [Python: 3D real-time debugging and function call structure](https://blog.christianperone.com/2009/02/python-3d-real-time-debugging-and-function-call-structure/) - Here is two videos of a small script (python and xmlrpc calls to ubigraph visualization server) created to show a 3D graph of the function call structure of a python application, the first shows only the structure created while running the application and the next video shows a debugging-like tool, it changes the node color - [Twitter in 3D !](https://blog.christianperone.com/2009/02/twitter-in-3d/) - I was doing some tests on the Ubigraph dynamic graph visualization tool and I have this idea to use the Ubigraph tool to render 3D graphs of Twitter friends on real-time. Follows the video of the scripting utility I've created, it starts with a red node of your twitter and when you click, it shows - [Genetic Algorithms help us to understand how we see](https://blog.christianperone.com/2009/02/genetic-algorithms-help-us-to-understand-how-we-see/) - There is a very interesting article on the insciences.org, it talks about the use of a Genetic Algorithm to create images used to test people brain performance: The team developed a ‘genetic algorithm’, based on a simple model of evolution, that can breed a range of images and visual stimuli which were then used to - [Good news: IronPython and Jython compatibility !](https://blog.christianperone.com/2009/02/good-news-ironpython-and-jython-compatibility/) - Good news, I've tested Pyevolve 0.5 with the IronPython 2.0.1 and Jython 2.5b1, and the framework is working perfect (besides the performance loss when comparing with CPython 2.5 and 2.6). The only feature that do not worked is the dump of statistics with the sqlite3, sine there is no sqlite3 on the default install of - [Pyevolve profiling dot graph](https://blog.christianperone.com/2009/02/pyevolve-profiling-dot-graph/) - I've created a profiling dot graph of the pyevolve_example15_rosenbrock.py with the Gprof2Dot, this Pyevolve example is the minimization of the Rosenbrock function with 20 variables. I've created that graph to show the call structure of Pyevolve, as you can see, the accumulation in FunctionSlot applyFunctions method is the effect of the use of FunctionSlot use - [The Pyevolve Interactive Mode on Mac OS](https://blog.christianperone.com/2009/02/the-pyevolve-interactive-mode-on-mac-os/) - The Interactive Mode of Pyevolve is the only part of Pyevolve which is platform dependant, I've created the platform dependant code for Win and Linux, but not yet for Mac, I'm working on that issue for the next release 0.6 of Pyevolve, but there is a way to enter in the Interactive Mode on the - [Happy Darwin day !](https://blog.christianperone.com/2009/02/happy-darwin-day/) - As Wikipedia says: Darwin Day is a recently instituted celebration intended to commemorate the anniversary of the birth of Charles Darwin on February 12, 1809. The day is used to highlight Darwin's contribution to science and to promote science in general. Today is the bicentenary of Darwin's birth and the 150th anniversary of the publication - [Considerações sobre o determinismo e livre-arbítrio para uma futura e distante ciência](https://blog.christianperone.com/2009/02/consideracoes-sobre-o-determinismo-e-livre-arbitrio-para-um-futuro-distante/) - Decidi escrever este post em português para evitar mal interpretações em algumas pequenas considerações sobre o determinismo e livre-arbítrio. Bom, como maioria deve saber, o determinismo é a doutrina/pensamento que afirma que todos acontecimentos [efeito] (inclusive nossas atitudes, escolhas, idéias) sejam causados por acontecimentos anteriores [causa]. Ela afirma que determinado acontecimento não poderia deixar de - [Pyevolve: work on the distributed Genetic Algorithm support](https://blog.christianperone.com/2009/02/pyevolve-work-on-distributed-ga/) - I'm currently working on the distributed GA support for the Pyevolve framework, the approach I'm using to network communication (individuals migration) is the hightweigh and unreliable UDP protocol, due it's performance (for lan/wan) and broadcasting compatibility. The distributed GA will have options to create the logical migration topology for the connected nodes (islands of evolution), - [A beautiful example of cooperation between theory and experiment, the new Boron form](https://blog.christianperone.com/2009/02/a-beautiful-example-of-cooperation-between-theory-and-experiment-the-new-boron-form/) - The NY Times has a nice article talking about the discovery of a new Boron form using Genetic Algorithms: Now researchers led by Dr. Oganov have added to the actual discoveries. They have found a form of boron that is nearly as hard as diamond. This discovery even illustrates the power of the idea of - [The new Pyevolve blog site](https://blog.christianperone.com/2009/02/the-new-pyevolve-blog-site/) - Hello, this is the new blog site of the Pyevolve - genetic algorithm framework -, feel free to comment or suggest. - [Universality, primes and space communication](https://blog.christianperone.com/2014/01/universality-primes-and-space-communication/) - So, in mathematics, we have the concept of universality in which we have laws like the law of large numbers, the Benford's law (that I cited a lot in previous posts), the central limit theorem, and many other laws that act like laws of physics for the world of mathematics. These laws are not our - [Machine Learning :: Cosine Similarity for Vector Space Models (Part III)](https://blog.christianperone.com/2013/09/machine-learning-cosine-similarity-for-vector-space-models-part-iii/) - * It has been a long time since I wrote the TF-IDF tutorial (Part I and Part II) and as I promissed, here is the continuation of the tutorial. Unfortunately I had no time to fix the previous tutorials for the newer versions of the scikit-learn (sklearn) package nor to answer all the questions, but - [Introduction to Word Embeddings](https://blog.christianperone.com/2017/02/introduction-to-word-embeddings/) - Just publised a deck of slides for an Introduction to Word Embeddings, presented at our Machine Learning Meetup in Porto Alegre / RS / Brazil. Here is the video (in Portugese): - [PyOhio 2010: Genetic Programming in Python](https://blog.christianperone.com/2010/08/pyohio-2010-genetic-programming-in-python/) - Eric Floehr (from Intellovations) kindly sent me the presentation he presented at PyOhio 2010. I think Eric has captured some nice features of Pyevolve which few people use, like DB Adapters, dot plotting, Interactive Mode, Real Time statistics, etc. He also presents an interesting use case where he uses Genetic Programming in order to forecast - [Delicious.com, checking user numbers against Benford's Law](https://blog.christianperone.com/2009/04/deliciouscom-checking-user-numbers-against-benfords-law/) - Sometimes, Benford's Law is used to check some datasets and detect fraud. If a dataset which is supposed to follow the Benford's Law distribution diverges from the law, we can say that the dataset is a possible fraud (caution with assumptions, and please, note the word "possible" here). So I had an idea to check - [Travelling Salesman on Sony PSP using Stackless Python + Pyevolve](https://blog.christianperone.com/2009/03/travelling-salesman-on-sony-psp-using-stackless-python-pyevolve/) - This is my first PoC of the Travelling Salesman Problem on PSP, since I've installed the Pyevolve on the Sony PSP, I can optimize any problem while using the graphical interface of PSP (in that problem I'm using the 2D functions to plot the cities and the path) to show results in real-time. Here is - [Pyevolve: work on the distributed Genetic Algorithm support](https://blog.christianperone.com/2009/02/pyevolve-work-on-distributed-ga/) - I'm currently working on the distributed GA support for the Pyevolve framework, the approach I'm using to network communication (individuals migration) is the hightweigh and unreliable UDP protocol, due it's performance (for lan/wan) and broadcasting compatibility. The distributed GA will have options to create the logical migration topology for the connected nodes (islands of evolution), ## Pages - [BlueSky (BSky)](https://blog.christianperone.com/bluesky-bsky/) - [Registrar interesse no grupo Machine Learning Porto Alegre](https://blog.christianperone.com/mlpoa/) - Olá, obrigado por registrar seu interesse, fechamos o formulário para registro em 9 Jan 2024, qualquer dúvida por favor entre em contato em algum dos emails dos organizadores ! - Organização Meetup Porto Alegre ## Categories - [Uncategorized](https://blog.christianperone.com/category/uncategorized/) - [Article](https://blog.christianperone.com/category/article/) - [Bitcoin](https://blog.christianperone.com/category/bitcoin-2/) - [c](https://blog.christianperone.com/category/c/) - [CPP](https://blog.christianperone.com/category/cpp-2/) - [Genetic Algorithms](https://blog.christianperone.com/category/genetic-algorithms/) - [genetic programming](https://blog.christianperone.com/category/genetic-programming/) - [java](https://blog.christianperone.com/category/java/) - [LLVM](https://blog.christianperone.com/category/c/llvm/) - [Machine Learning](https://blog.christianperone.com/category/machine-learning/) - [Math](https://blog.christianperone.com/category/math/) - [News](https://blog.christianperone.com/category/news/) - [Open Data](https://blog.christianperone.com/category/open-data/) - [Philosophy](https://blog.christianperone.com/category/article/philosophy/) - [Programming](https://blog.christianperone.com/category/programming-2/) - [Pyevolve](https://blog.christianperone.com/category/pyevolve/) - [pys60](https://blog.christianperone.com/category/pys60/) - [Python](https://blog.christianperone.com/category/python/) - [Raspberry Pi](https://blog.christianperone.com/category/raspberry-pi/) - [Science](https://blog.christianperone.com/category/news/science/) - [Time Waste](https://blog.christianperone.com/category/news/time-waste/) - [Probability](https://blog.christianperone.com/category/probability/) - [Visualization](https://blog.christianperone.com/category/visualization/) ## Tags - [0.5](https://blog.christianperone.com/tag/05/) - [3d](https://blog.christianperone.com/tag/3d/) - [acm](https://blog.christianperone.com/tag/acm/) - [ads-b](https://blog.christianperone.com/tag/ads-b/) - [adsb](https://blog.christianperone.com/tag/adsb/) - [algorithms](https://blog.christianperone.com/tag/algorithms/) - [algoritmos evolutivos](https://blog.christianperone.com/tag/algoritmos-evolutivos/) - [amusing mathematics](https://blog.christianperone.com/tag/amusing-mathematics/) - [anniversary](https://blog.christianperone.com/tag/anniversary/) - [announce](https://blog.christianperone.com/tag/announce/) - [aqua](https://blog.christianperone.com/tag/aqua/) - [archeology](https://blog.christianperone.com/tag/archeology/) - [arduino](https://blog.christianperone.com/tag/arduino/) - [arecibo](https://blog.christianperone.com/tag/arecibo/) - [arecibo message](https://blog.christianperone.com/tag/arecibo-message/) - [arm](https://blog.christianperone.com/tag/arm/) - [art](https://blog.christianperone.com/tag/art/) - [Article](https://blog.christianperone.com/tag/article/) - [ast](https://blog.christianperone.com/tag/ast/) - [avl](https://blog.christianperone.com/tag/avl/) - [avl trees](https://blog.christianperone.com/tag/avl-trees/) - [banana function](https://blog.christianperone.com/tag/banana-function/) - [basemap](https://blog.christianperone.com/tag/basemap/) - [beautifulsoup](https://blog.christianperone.com/tag/beautifulsoup/) - [benchmark](https://blog.christianperone.com/tag/benchmark/) - [benford](https://blog.christianperone.com/tag/benford/) - [benford law](https://blog.christianperone.com/tag/benford-law/) - [benford's law](https://blog.christianperone.com/tag/benfords-law/) - [biology](https://blog.christianperone.com/tag/biology/) - [bitcoin](https://blog.christianperone.com/tag/bitcoin/) - [boron](https://blog.christianperone.com/tag/boron/) - [brain performance](https://blog.christianperone.com/tag/brain-performance/) - [c](https://blog.christianperone.com/tag/c/) - [c++0x](https://blog.christianperone.com/tag/c0x/) - [c++11](https://blog.christianperone.com/tag/c11/) - [call graph](https://blog.christianperone.com/tag/call-graph/) - [ciência](https://blog.christianperone.com/tag/ciencia/) - [code review](https://blog.christianperone.com/tag/code-review/) - [Coins](https://blog.christianperone.com/tag/coins/) - [communication](https://blog.christianperone.com/tag/communication/) - [comparative](https://blog.christianperone.com/tag/comparative/) - [compatibility](https://blog.christianperone.com/tag/compatibility/) - [computação evolutiva](https://blog.christianperone.com/tag/computacao-evolutiva/) - [Computer Vision](https://blog.christianperone.com/tag/computer-vision/) - [conhecimento](https://blog.christianperone.com/tag/conhecimento/) - [Contour Finding](https://blog.christianperone.com/tag/contour-finding/) - [cosine](https://blog.christianperone.com/tag/cosine/) - [cosine similarity](https://blog.christianperone.com/tag/cosine-similarity/) - [cpp](https://blog.christianperone.com/tag/cpp/) - [cpython](https://blog.christianperone.com/tag/cpython/) - [ctypes](https://blog.christianperone.com/tag/ctypes/) - [darwin](https://blog.christianperone.com/tag/darwin/) - [darwin day](https://blog.christianperone.com/tag/darwin-day/) - [data structures](https://blog.christianperone.com/tag/data-structures/) - [debian](https://blog.christianperone.com/tag/debian/) - [debugging](https://blog.christianperone.com/tag/debugging/) - [determinism](https://blog.christianperone.com/tag/determinism/) - [dinossaur](https://blog.christianperone.com/tag/dinossaur/) - [distribute](https://blog.christianperone.com/tag/distribute/) - [distributed](https://blog.christianperone.com/tag/distributed/) - [django](https://blog.christianperone.com/tag/django/) - [django-gis-brasil](https://blog.christianperone.com/tag/django-gis-brasil/) - [documentation](https://blog.christianperone.com/tag/documentation/) - [dot](https://blog.christianperone.com/tag/dot/) - [earthquake](https://blog.christianperone.com/tag/earthquake/) - [edge recombination](https://blog.christianperone.com/tag/edge-recombination/) - [einstein](https://blog.christianperone.com/tag/einstein/) - [electronics](https://blog.christianperone.com/tag/electronics/) - [evolução](https://blog.christianperone.com/tag/evolucao/) - [evolução natural](https://blog.christianperone.com/tag/evolucao-natural/) - [evolution](https://blog.christianperone.com/tag/evolution/) - [evolutionary](https://blog.christianperone.com/tag/evolutionary/) - [evolutionary algorithm](https://blog.christianperone.com/tag/evolutionary-algorithm/) - [evolutionary algorithms](https://blog.christianperone.com/tag/evolutionary-algorithms/) - [evolutionary computation](https://blog.christianperone.com/tag/evolutionary-computation/) - [evolutionary computation framework](https://blog.christianperone.com/tag/evolutionary-computation-framework/) - [extension](https://blog.christianperone.com/tag/extension/) - [F1](https://blog.christianperone.com/tag/f1/) - [farnell](https://blog.christianperone.com/tag/farnell/) - [feature extraction](https://blog.christianperone.com/tag/feature-extraction/) - [features](https://blog.christianperone.com/tag/features/) - [filosofia](https://blog.christianperone.com/tag/filosofia/) - [FISL](https://blog.christianperone.com/tag/fisl/) - [flex](https://blog.christianperone.com/tag/flex/) - [forecast](https://blog.christianperone.com/tag/forecast/) - [free will](https://blog.christianperone.com/tag/free-will/) - [functionslot](https://blog.christianperone.com/tag/functionslot/) - [ga](https://blog.christianperone.com/tag/ga/) - [genetic algorithm](https://blog.christianperone.com/tag/genetic-algorithm/) - [Genetic Algorithms](https://blog.christianperone.com/tag/genetic-algorithms/) - [genetic programming](https://blog.christianperone.com/tag/genetic-programming/) - [getaddr](https://blog.christianperone.com/tag/getaddr/) - [gis](https://blog.christianperone.com/tag/gis/) - [git](https://blog.christianperone.com/tag/git/) - [github](https://blog.christianperone.com/tag/github/) - [glib](https://blog.christianperone.com/tag/glib/) - [google analytics](https://blog.christianperone.com/tag/google-analytics/) - [google groups](https://blog.christianperone.com/tag/google-groups/) - [google insight](https://blog.christianperone.com/tag/google-insight/) - [google sets](https://blog.christianperone.com/tag/google-sets/) - [gource](https://blog.christianperone.com/tag/gource/) - [gp](https://blog.christianperone.com/tag/gp/) - [gpio](https://blog.christianperone.com/tag/gpio/) - [gr1](https://blog.christianperone.com/tag/gr1/) - [graph](https://blog.christianperone.com/tag/graph/) - [gstring](https://blog.christianperone.com/tag/gstring/) - [hardware](https://blog.christianperone.com/tag/hardware/) - [health](https://blog.christianperone.com/tag/health/) - [heat map](https://blog.christianperone.com/tag/heat-map/) - [heatmap](https://blog.christianperone.com/tag/heatmap/) - [HP Cloud](https://blog.christianperone.com/tag/hp-cloud/) - [hpcloud](https://blog.christianperone.com/tag/hpcloud/) - [Image Segmentation](https://blog.christianperone.com/tag/image-segmentation/) - [interactive](https://blog.christianperone.com/tag/interactive/) - [interactive mode](https://blog.christianperone.com/tag/interactive-mode/) - [internals](https://blog.christianperone.com/tag/internals/) - [inverse document frequency](https://blog.christianperone.com/tag/inverse-document-frequency/) - [iran election](https://blog.christianperone.com/tag/iran-election/) - [ironpython](https://blog.christianperone.com/tag/ironpython/) - [issue](https://blog.christianperone.com/tag/issue/) - [japan](https://blog.christianperone.com/tag/japan/) - [java](https://blog.christianperone.com/tag/java/) - [jit](https://blog.christianperone.com/tag/jit/) - [joke](https://blog.christianperone.com/tag/joke/) - [jsp](https://blog.christianperone.com/tag/jsp/) - [jython](https://blog.christianperone.com/tag/jython/) - [kant](https://blog.christianperone.com/tag/kant/) - [karl popper](https://blog.christianperone.com/tag/karl-popper/) - [kbhit](https://blog.christianperone.com/tag/kbhit/) - [knowledge](https://blog.christianperone.com/tag/knowledge/) - [laser](https://blog.christianperone.com/tag/laser/) - [latex](https://blog.christianperone.com/tag/latex/) - [layout](https://blog.christianperone.com/tag/layout/) - [ldr](https://blog.christianperone.com/tag/ldr/) - [linear scaling](https://blog.christianperone.com/tag/linear-scaling/) - [linux](https://blog.christianperone.com/tag/linux/) - [literals](https://blog.christianperone.com/tag/literals/) - [LLVM](https://blog.christianperone.com/tag/llvm/) - [llvm ir](https://blog.christianperone.com/tag/llvm-ir/) - [llvm-py](https://blog.christianperone.com/tag/llvm-py/) - [llvmpy](https://blog.christianperone.com/tag/llvmpy/) - [m13](https://blog.christianperone.com/tag/m13/) - [mac](https://blog.christianperone.com/tag/mac/) - [mac os](https://blog.christianperone.com/tag/mac-os/) - [machine](https://blog.christianperone.com/tag/machine/) - [machine learning](https://blog.christianperone.com/tag/machine-learning-2/) - [mail list](https://blog.christianperone.com/tag/mail-list/) - [map](https://blog.christianperone.com/tag/map/) - [markov chains](https://blog.christianperone.com/tag/markov-chains/) - [Math](https://blog.christianperone.com/tag/math/) - [matplotlib](https://blog.christianperone.com/tag/matplotlib/) - [middleware](https://blog.christianperone.com/tag/middleware/) - [model](https://blog.christianperone.com/tag/model/) - [modis](https://blog.christianperone.com/tag/modis/) - [monitor](https://blog.christianperone.com/tag/monitor/) - [Morphology](https://blog.christianperone.com/tag/morphology/) - [multiprocessing](https://blog.christianperone.com/tag/multiprocessing/) - [n-queens](https://blog.christianperone.com/tag/n-queens/) - [n73](https://blog.christianperone.com/tag/n73/) - [nasa](https://blog.christianperone.com/tag/nasa/) - [nature](https://blog.christianperone.com/tag/nature/) - [network](https://blog.christianperone.com/tag/network/) - [networking](https://blog.christianperone.com/tag/networking/) - [News](https://blog.christianperone.com/tag/news/) - [newsletter](https://blog.christianperone.com/tag/newsletter/) - [newton](https://blog.christianperone.com/tag/newton/) - [nodes](https://blog.christianperone.com/tag/nodes/) - [nokia](https://blog.christianperone.com/tag/nokia/) - [nosql](https://blog.christianperone.com/tag/nosql/) - [Nova](https://blog.christianperone.com/tag/nova/) - [nqueens](https://blog.christianperone.com/tag/nqueens/) - [nytimes](https://blog.christianperone.com/tag/nytimes/) - [oled](https://blog.christianperone.com/tag/oled/) - [on the origin of species](https://blog.christianperone.com/tag/on-the-origin-of-species/) - [open data](https://blog.christianperone.com/tag/open-data-2/) - [OpenCV](https://blog.christianperone.com/tag/opencv/) - [OpenCV Bindings](https://blog.christianperone.com/tag/opencv-bindings/) - [openoffice](https://blog.christianperone.com/tag/openoffice/) - [OpenStack](https://blog.christianperone.com/tag/openstack/) - [optimization](https://blog.christianperone.com/tag/optimization/) - [p2p](https://blog.christianperone.com/tag/p2p/) - [package manager](https://blog.christianperone.com/tag/package-manager/) - [parallel](https://blog.christianperone.com/tag/parallel/) - [patterns](https://blog.christianperone.com/tag/patterns/) - [pdf](https://blog.christianperone.com/tag/pdf/) - [Philosophy](https://blog.christianperone.com/tag/philosophy/) - [pip](https://blog.christianperone.com/tag/pip/) - [platform dependant](https://blog.christianperone.com/tag/platform-dependant/) - [plot](https://blog.christianperone.com/tag/plot/) - [plotting](https://blog.christianperone.com/tag/plotting/) - [police](https://blog.christianperone.com/tag/police/) - [portable](https://blog.christianperone.com/tag/portable/) - [porto alegre](https://blog.christianperone.com/tag/porto-alegre/) - [primes](https://blog.christianperone.com/tag/primes/) - [profile-capture](https://blog.christianperone.com/tag/profile-capture/) - [programming](https://blog.christianperone.com/tag/programming/) - [protocoin](https://blog.christianperone.com/tag/protocoin/) - [psp](https://blog.christianperone.com/tag/psp/) - [pycon](https://blog.christianperone.com/tag/pycon/) - [Pyevolve](https://blog.christianperone.com/tag/pyevolve/) - [pypi](https://blog.christianperone.com/tag/pypi/) - [pypy](https://blog.christianperone.com/tag/pypy/) - [pys60](https://blog.christianperone.com/tag/pys60/) - [pysvn](https://blog.christianperone.com/tag/pysvn/) - [Python](https://blog.christianperone.com/tag/python/) - [python 2.5](https://blog.christianperone.com/tag/python-25/) - [python stackless](https://blog.christianperone.com/tag/python-stackless/) - [python-twitter](https://blog.christianperone.com/tag/python-twitter/) - [radio](https://blog.christianperone.com/tag/radio/) - [rapid fire](https://blog.christianperone.com/tag/rapid-fire/) - [rapidfire](https://blog.christianperone.com/tag/rapidfire/) - [raspberry pi](https://blog.christianperone.com/tag/raspberry-pi-2/) - [raspbian](https://blog.christianperone.com/tag/raspbian/) - [rastringin](https://blog.christianperone.com/tag/rastringin/) - [real-time](https://blog.christianperone.com/tag/real-time/) - [redis](https://blog.christianperone.com/tag/redis/) - [release](https://blog.christianperone.com/tag/release/) - [release candidate](https://blog.christianperone.com/tag/release-candidate/) - [repository](https://blog.christianperone.com/tag/repository/) - [Requests](https://blog.christianperone.com/tag/requests/) - [review board](https://blog.christianperone.com/tag/review-board/) - [riemann zeta](https://blog.christianperone.com/tag/riemann-zeta/) - [rosenbrock](https://blog.christianperone.com/tag/rosenbrock/) - [rpi](https://blog.christianperone.com/tag/rpi/) - [rs](https://blog.christianperone.com/tag/rs/) - [rt820](https://blog.christianperone.com/tag/rt820/) - [rtl2832u](https://blog.christianperone.com/tag/rtl2832u/) - [satellite](https://blog.christianperone.com/tag/satellite/) - [scaling scheme](https://blog.christianperone.com/tag/scaling-scheme/) - [schaffer](https://blog.christianperone.com/tag/schaffer/) - [Science](https://blog.christianperone.com/tag/science/) - [scikit.learn](https://blog.christianperone.com/tag/scikit-learn/) - [screenshots](https://blog.christianperone.com/tag/screenshots/) - [sdr](https://blog.christianperone.com/tag/sdr/) - [sigevo](https://blog.christianperone.com/tag/sigevo/) - [sigevolution](https://blog.christianperone.com/tag/sigevolution/) - [sigmoid](https://blog.christianperone.com/tag/sigmoid/) - [sketch](https://blog.christianperone.com/tag/sketch/) - [sklearn](https://blog.christianperone.com/tag/sklearn/) - [sony psp](https://blog.christianperone.com/tag/sony-psp/) - [space](https://blog.christianperone.com/tag/space/) - [speedup](https://blog.christianperone.com/tag/speedup/) - [spritzer](https://blog.christianperone.com/tag/spritzer/) - [stackless python](https://blog.christianperone.com/tag/stackless-python/) - [stallion](https://blog.christianperone.com/tag/stallion/) - [stat cubes](https://blog.christianperone.com/tag/stat-cubes/) - [statistics](https://blog.christianperone.com/tag/statistics/) - [streaming api](https://blog.christianperone.com/tag/streaming-api/) - [structure](https://blog.christianperone.com/tag/structure/) - [subversion](https://blog.christianperone.com/tag/subversion/) - [svn](https://blog.christianperone.com/tag/svn/) - [swap mutation](https://blog.christianperone.com/tag/swap-mutation/) - [symbian](https://blog.christianperone.com/tag/symbian/) - [teoria do conhecimento](https://blog.christianperone.com/tag/teoria-do-conhecimento/) - [term frequency](https://blog.christianperone.com/tag/term-frequency/) - [terra](https://blog.christianperone.com/tag/terra/) - [text mining](https://blog.christianperone.com/tag/text-mining/) - [tf-idf](https://blog.christianperone.com/tag/tf-idf/) - [the economist](https://blog.christianperone.com/tag/the-economist/) - [traveling salesperson](https://blog.christianperone.com/tag/traveling-salesperson/) - [tsp](https://blog.christianperone.com/tag/tsp/) - [twitter](https://blog.christianperone.com/tag/twitter/) - [ubigraph](https://blog.christianperone.com/tag/ubigraph/) - [uhf](https://blog.christianperone.com/tag/uhf/) - [universality](https://blog.christianperone.com/tag/universality/) - [unladen swallow](https://blog.christianperone.com/tag/unladen-swallow/) - [user-defined literals](https://blog.christianperone.com/tag/user-defined-literals/) - [usgs](https://blog.christianperone.com/tag/usgs/) - [vector space model](https://blog.christianperone.com/tag/vector-space-model/) - [video](https://blog.christianperone.com/tag/video/) - [visualization](https://blog.christianperone.com/tag/visualization/) - [voltage divider](https://blog.christianperone.com/tag/voltage-divider/) - [vsm](https://blog.christianperone.com/tag/vsm/) - [weather](https://blog.christianperone.com/tag/weather/) - [web](https://blog.christianperone.com/tag/web/) - [wrapper](https://blog.christianperone.com/tag/wrapper/) - [xgoogle](https://blog.christianperone.com/tag/xgoogle/) - [Image Processing](https://blog.christianperone.com/tag/image-processing/) - [Drone](https://blog.christianperone.com/tag/drone/) - [QuadCopter](https://blog.christianperone.com/tag/quadcopter/) - [APM](https://blog.christianperone.com/tag/apm/) - [Flight](https://blog.christianperone.com/tag/flight/) - [Object Tracking](https://blog.christianperone.com/tag/object-tracking/) - [deep learning](https://blog.christianperone.com/tag/deep-learning/) - [googlenet](https://blog.christianperone.com/tag/googlenet/) - [inceptionism](https://blog.christianperone.com/tag/inceptionism/) - [deep dreams](https://blog.christianperone.com/tag/deep-dreams/) - [caffe](https://blog.christianperone.com/tag/caffe/) - [codex seraphinianus](https://blog.christianperone.com/tag/codex-seraphinianus/) - [codex](https://blog.christianperone.com/tag/codex/) - [spatial data](https://blog.christianperone.com/tag/spatial-data/) - [hilbert curve](https://blog.christianperone.com/tag/hilbert-curve/) - [google](https://blog.christianperone.com/tag/google/) - [s2](https://blog.christianperone.com/tag/s2/) - [geometry](https://blog.christianperone.com/tag/geometry/) - [spatial](https://blog.christianperone.com/tag/spatial/) - [data visualization](https://blog.christianperone.com/tag/data-visualization/) - [convolutional neural network](https://blog.christianperone.com/tag/convolutional-neural-network/) - [convnets](https://blog.christianperone.com/tag/convnets/) - [lasagne](https://blog.christianperone.com/tag/lasagne/) - [nolearn](https://blog.christianperone.com/tag/nolearn/) - [convolutional neural networks](https://blog.christianperone.com/tag/convolutional-neural-networks/) - [neural networks](https://blog.christianperone.com/tag/neural-networks/) - [image classification](https://blog.christianperone.com/tag/image-classification/) - [cnn](https://blog.christianperone.com/tag/cnn/) - [hypercolumns](https://blog.christianperone.com/tag/hypercolumns/) - [keras](https://blog.christianperone.com/tag/keras/) - [voynich](https://blog.christianperone.com/tag/voynich/) - [masnuscript](https://blog.christianperone.com/tag/masnuscript/) - [word2vec](https://blog.christianperone.com/tag/word2vec/) - [word embeddings](https://blog.christianperone.com/tag/word-embeddings/) - [tsne](https://blog.christianperone.com/tag/tsne/) - [cbow](https://blog.christianperone.com/tag/cbow/) - [skip-gram](https://blog.christianperone.com/tag/skip-gram/) - [tensorflow](https://blog.christianperone.com/tag/tensorflow/) - [amqp](https://blog.christianperone.com/tag/amqp/) - [mqtt](https://blog.christianperone.com/tag/mqtt/) - [nanopipe](https://blog.christianperone.com/tag/nanopipe/) - [nlp](https://blog.christianperone.com/tag/nlp/) - [embeddings](https://blog.christianperone.com/tag/embeddings/) - [natural language processing](https://blog.christianperone.com/tag/natural-language-processing/) - [historicism](https://blog.christianperone.com/tag/historicism/) - [futurism](https://blog.christianperone.com/tag/futurism/) - [futurology](https://blog.christianperone.com/tag/futurology/) - [ai](https://blog.christianperone.com/tag/ai/) - [index](https://blog.christianperone.com/tag/index/) - [fovea](https://blog.christianperone.com/tag/fovea/) - [receptive field](https://blog.christianperone.com/tag/receptive-field/) - [paper review](https://blog.christianperone.com/tag/paper-review/) - [prime](https://blog.christianperone.com/tag/prime/) - [gimps](https://blog.christianperone.com/tag/gimps/) - [lucas-lehmer](https://blog.christianperone.com/tag/lucas-lehmer/) - [mersenne](https://blog.christianperone.com/tag/mersenne/) - [encryption](https://blog.christianperone.com/tag/encryption/) - [homomorphic encryption](https://blog.christianperone.com/tag/homomorphic-encryption/) - [pytorch](https://blog.christianperone.com/tag/pytorch/) - [language](https://blog.christianperone.com/tag/language/) - [probability](https://blog.christianperone.com/tag/probability/) - [bounds](https://blog.christianperone.com/tag/bounds/) - [markov](https://blog.christianperone.com/tag/markov/) - [chernoff](https://blog.christianperone.com/tag/chernoff/) - [chebyshev](https://blog.christianperone.com/tag/chebyshev/) - [javascript](https://blog.christianperone.com/tag/javascript/) - [nodejs](https://blog.christianperone.com/tag/nodejs/) - [language model](https://blog.christianperone.com/tag/language-model/) - [transformer](https://blog.christianperone.com/tag/transformer/) - [pymc3](https://blog.christianperone.com/tag/pymc3/) - [bayesian](https://blog.christianperone.com/tag/bayesian/) - [analysis](https://blog.christianperone.com/tag/analysis/) - [enem](https://blog.christianperone.com/tag/enem/) - [brasil](https://blog.christianperone.com/tag/brasil/) - [politics](https://blog.christianperone.com/tag/politics/) - [election](https://blog.christianperone.com/tag/election/) - [time map](https://blog.christianperone.com/tag/time-map/) - [plots](https://blog.christianperone.com/tag/plots/) - [euclidesdb](https://blog.christianperone.com/tag/euclidesdb/) - [lsh](https://blog.christianperone.com/tag/lsh/) - [database](https://blog.christianperone.com/tag/database/) - [pydata](https://blog.christianperone.com/tag/pydata/) - [montreal](https://blog.christianperone.com/tag/montreal/) - [sampling](https://blog.christianperone.com/tag/sampling/) - [bootstrap](https://blog.christianperone.com/tag/bootstrap/) - [uncertainty](https://blog.christianperone.com/tag/uncertainty/) - [gpt-2](https://blog.christianperone.com/tag/gpt-2/) - [numpy](https://blog.christianperone.com/tag/numpy/) - [dask](https://blog.christianperone.com/tag/dask/) - [gradients](https://blog.christianperone.com/tag/gradients/) - [sound](https://blog.christianperone.com/tag/sound/) - [pandas](https://blog.christianperone.com/tag/pandas/) - [IR](https://blog.christianperone.com/tag/ir/) - [Gandiva](https://blog.christianperone.com/tag/gandiva/) - [covid19](https://blog.christianperone.com/tag/covid19/) - [modelling](https://blog.christianperone.com/tag/modelling/) - [covid](https://blog.christianperone.com/tag/covid/) - [study](https://blog.christianperone.com/tag/study/) - [bayesian modelling](https://blog.christianperone.com/tag/bayesian-modelling/) - [epidemiology](https://blog.christianperone.com/tag/epidemiology/) - [covid-19](https://blog.christianperone.com/tag/covid-19/) - [delay distribution](https://blog.christianperone.com/tag/delay-distribution/) - [seroprevalence](https://blog.christianperone.com/tag/seroprevalence/) - [xenophanes](https://blog.christianperone.com/tag/xenophanes/) - [ethics](https://blog.christianperone.com/tag/ethics/) - [professional ethics](https://blog.christianperone.com/tag/professional-ethics/) - [cryptography](https://blog.christianperone.com/tag/cryptography/) - [helium](https://blog.christianperone.com/tag/helium/) - [rf](https://blog.christianperone.com/tag/rf/) - [nnc](https://blog.christianperone.com/tag/nnc/) - [compilers](https://blog.christianperone.com/tag/compilers/) - [self-driving](https://blog.christianperone.com/tag/self-driving/) - [autonomous vehicles](https://blog.christianperone.com/tag/autonomous-vehicles/) - [uncertainty estimation](https://blog.christianperone.com/tag/uncertainty-estimation/) - [papers](https://blog.christianperone.com/tag/papers/) - [neurips](https://blog.christianperone.com/tag/neurips/) - [icml](https://blog.christianperone.com/tag/icml/) - [icra](https://blog.christianperone.com/tag/icra/) - [llm](https://blog.christianperone.com/tag/llm/) - [language models](https://blog.christianperone.com/tag/language-models/) - [ccnet](https://blog.christianperone.com/tag/ccnet/) - [data](https://blog.christianperone.com/tag/data/) - [common crawl](https://blog.christianperone.com/tag/common-crawl/) - [information geometry](https://blog.christianperone.com/tag/information-geometry/) - [differential geometry](https://blog.christianperone.com/tag/differential-geometry/) - [fisher information](https://blog.christianperone.com/tag/fisher-information/) - [diffusion](https://blog.christianperone.com/tag/diffusion/) - [score-based model](https://blog.christianperone.com/tag/score-based-model/) - [edge inference](https://blog.christianperone.com/tag/edge-inference/) - [executorch](https://blog.christianperone.com/tag/executorch/) - [torchdynamo](https://blog.christianperone.com/tag/torchdynamo/) - [torchinductor](https://blog.christianperone.com/tag/torchinductor/) - [triton](https://blog.christianperone.com/tag/triton/) - [flooding](https://blog.christianperone.com/tag/flooding/) - [deepdreams](https://blog.christianperone.com/tag/deepdreams/) - [torch](https://blog.christianperone.com/tag/torch/) - [jax](https://blog.christianperone.com/tag/jax/) - [mmap](https://blog.christianperone.com/tag/mmap/) - [torch titan](https://blog.christianperone.com/tag/torch-titan/) - [nccl](https://blog.christianperone.com/tag/nccl/) - [c10d](https://blog.christianperone.com/tag/c10d/) - [manifold](https://blog.christianperone.com/tag/manifold/) - [metric tensor](https://blog.christianperone.com/tag/metric-tensor/) - [data manifold](https://blog.christianperone.com/tag/data-manifold/) - [riemannian manifold](https://blog.christianperone.com/tag/riemannian-manifold/) - [diffusion models](https://blog.christianperone.com/tag/diffusion-models/) - [score-based generative models](https://blog.christianperone.com/tag/score-based-generative-models/) - [simondon](https://blog.christianperone.com/tag/simondon/) - [technology](https://blog.christianperone.com/tag/technology/) - [perception encoder](https://blog.christianperone.com/tag/perception-encoder/) - [filesystems](https://blog.christianperone.com/tag/filesystems/) - [vfs](https://blog.christianperone.com/tag/vfs/) - [vectorvfs](https://blog.christianperone.com/tag/vectorvfs/) - [retrieval](https://blog.christianperone.com/tag/retrieval/) - [vector database](https://blog.christianperone.com/tag/vector-database/) - [distributed training](https://blog.christianperone.com/tag/distributed-training/) - [ddim](https://blog.christianperone.com/tag/ddim/) - [flow matching elites](https://blog.christianperone.com/tag/flow-matching-elites/) - [diffusion elites](https://blog.christianperone.com/tag/diffusion-elites/) - [CEM](https://blog.christianperone.com/tag/cem/) - [philosophy of science](https://blog.christianperone.com/tag/philosophy-of-science/) - [discovery](https://blog.christianperone.com/tag/discovery/)