Cartesian Dualism
This is a homework assignment I did for a Philosophy of Mind course with the Department of Continuing education of the Oxford University (online, early 2022.)
Clojure Full-stack web developer
I talk about Clojure,
Privacy, Open Data and other
topics I'm curious about
This is a homework assignment I did for a Philosophy of Mind course with the Department of Continuing education of the Oxford University (online, early 2022.)
Culture is a big part of the carbon based entities that do pretty much all the computer programming these days. This blog post is my first take on the other fluffy aspects of software development. I'll argue why being a language fundamentalist won't safeguard you from producing a bad system.
In July 2022, I wrote about European privacy laws and the "no cookie-consent banner" claim made by privacy-friendly analytics alternatives. Initially believing they were a viable alternative to intrusive banners, after looking a bit more carefully into it and considering legal discussions online, I've concluded that it's safest to maintain cookie consent banners until clearer guidance from European authorities is provided.
In September 2018, with 32 years old, single and after having worked for tech startups in London for four years, I decided to sign up for a silent meditation retreat in Chennai, the capital of the Tamil Nadu region in the South West of India.
OpenResty lets you extend Nginx with Lua, a popular, embedded language. Setting up the development environment is time-consuming when Openresty is compiled locally, making collaboration harder. This blog post will show you a Docker based tool to start hacking with server side Lua.
I did a little experiment with WebRTC and a CFD (Computational Fluid Dynamics) solver I wrote. I wanted to see what could be done with WebRTC and browser parallel computing. First, I needed a problem that was computationally intense and suitable to parallelization. CFD suited that class of problems and plus, coming from mechanical engineering, it was a type of problem I was decently familiar with.
In this blog post, I'll show you two Cellular Automata algorithms used in Forest Fire Simulation. The models differ in the way they use the GPU architecture to boost performance. The first model was implemented in a trivial way, without much concern for the unique memory access pattern of the GPU. The second algorithm addresses this issue and outperforms the first by two orders of magnitude.
This is a video of a high-speed train simulation I did while working for a university research lab (Lasef) in Lisbon. The simulation and post processing were carried out using a commercial software called Start-CCm+ and a custom Java script. This video is purely aesthetic however it is based on the actual simulation we carried out. Email me if you're interested in accessing the conference paper.
Around 2012 when I was a research assistant at Technical University of Lisbon, I put together a youtube channel for my fluid simulation lab. A fluid flow professor I had used to joke that CFD - computational fluid dynamics - should be called colourful fluid dynamics instead. The truth is, they make amazing youtube content, with some of the videos in the channel reaching past 8k views 9 years later.
Passa à Primeira is a no-frills not-for-profit initiative attempting to bring a much-needed layer of transparency to a traditional business, deemed too unsexy to disrupt. The current iteration of the project runs on shared hosting powered by Babashka Clojure.
An insight I had after a conference on neuroscience and AI.
In my last post, I introduced a CFD code which solved a partial differences equation implemented in JavaScript. The starting point, was to use a parallel computational task and distribute it among several browsers with Webrtc. In this post, I'll show you how I accomplished just that.
A second take on cookie consent banners
Forest Fires and Parallel Cellular Automata, going from 8x to 240x faster with GPUs
Not a theory of consciousness
Avoiding the pitfall of language fundamentalism. Why the obsessive pursuit of language mastery will not translate in results.
HighSpeed train CFD Simulation
Lasef Youtube channel - a series of turbulence visualizations
A development environment for a tricked out Nginx
passaprimeira.xyz - A potpourri of state bureaucracy, freedom of information acts, incomprehensible stubbornness and low budget solutions.
Burned out software engineer goes to India and does meditation
WebRTC Parallel Processing with a 2D partial difference equations solver (part-1)
WebRTC Parallel Processing with a 2D partial difference equations solver (part-2)
Cartesian Dualism