20221127

How to detect real client ip in swoole laravel octane without nginx but behind a reverse proxy

 

When using Laravel Octane without nginx and you're behind a load balancer like Google Cloud Platform's or Amazon AWS or other reverse proxy that sets X-FORWARDED-FOR header, you must check this header to get the real client IP.

I've tried setting TrustedProxies etc. with no succes. And Laravel Octane didn't get it right when you call request()->ip()

Finally I've found the solution getting the server parameter HTTP_X_FORWARDED_FOR from the request and getting the first IP from a comma separated list. 


Check in your particular case if maybe the client IP is set in other header like HTTP_REAL_IP or similar using dd(request()->server) to get all the parameters bag.

You can use this sample class (adjust your namespace):

<?php

namespace YourOrg\Helpers;

class Ip {
    public static function get () {
        $XFFip=request()->server->get('HTTP_X_FORWARDED_FOR');
        if ($XFFip) {
            $ips = explode(',', $XFFip);
            $ips = array_map('trim', $ips);
            $ip = $ips[0];        
        } else {
            $ip=request()->ip();
        }
        return $ip;
    }
}


Then anywhere in your code you can use:

use YourOrg\Helpers\Ip;

...

echo Ip::get();


Have fun


20220101

Post resum 2021

Gadgets of the year (comprats o regalats):

desert


Samarretes del any:

sadako gameboy

sushi kill bill

starters friends

scarlet witch, no more mornings


Friky coses guays:

craftcms

workerman

newman

wrk

swoole

roadrunner

meilisearch

rasa

krakend.io (lura)

Utopia

phpinsights v2

hotwire turbo

phpsandbox.io

getporter.dev

neatnik.net/view-source

SvelteKit

Frontity

https://laravel-news.com/rich-text-for-laravel

pixijs.io

Astro

solid.js

asyncapi

monaco-editor

gather.town

api platform

react-admin

lean-admin.dev

builderio/qwik

builderio/partytown

lighthouse-php

locust.io


Jocs als que m'he viciat aquest any:

Sparkle 2

Puyo puyo tetris

PUBG New State


Grups guays que he descobert aquest any:

Alcest

Pantocrator

Melenas

Martes Niebla

Marta Movidas

Nueve desconocidos

Patio Rosemary

The Goon Sax

L.A. Exes

Menta

Margaritas podridas

Disco Las Palmeras!

Maw

Beladrone

Airiel

shane

Dharmacide

Cruz de Navajas

Ciudad lineal

Depresión sonora

Último día

Plataforma

Chill Mafia Records

Sofia

Luz Futuro

Mausoleo

Somos la herencia

Cruhda

Nunca Nada

VVV

Margarita quebeada

Viuda

Paralelo

El destello

Quiets

Galería interior


Concerts als que he anat:

desert


Pelis que he vist:

La autopsia de Jane Doe

Hellboy (2019)

JT Leroy: Engañando a Hollywood

Mank

Primos

Widows

Wonder Woman

The Big Short

El escándalo

Deadpool 2

Odio por Dani Rovira

The assistant

Las ventajas de ser un marginado

Cherry

Space Sweepers

Zach Snyder’s Justice League

Capa caída

Josep

Die Hard 4.0

Hangover

Hangover 2

Hangover 3

Robocop 2014

Spiderman far from home

Lego Movie 2

Los juicios de Nuremberg

Don Jon

The Circle

Army of dead

Sucker Punch

Shiva baby

Mitchells vs the machines

Jay and Silent Bob: The reboot

Midsommar

The night eats the world

The eight night

War of tomorrow

Terminator: Genisys

Man on the moon

A quiet place

Heavy Metal

It follows

Reindeerspoting

The lost boys

1987

John Wick 3, Parabellum

Night in Paradise

El padrino

El padrino 2

Cruella DeVil

El padrino 3

Dune

Wyrmwood

The last of wolves

Ali G indahouse

Destello bravio

Tesla

Crash

Sound of violence

The thing

The lighthouse

Veteran

Kenshin

My hero academia, hero’s world mission

Dolores. La verdad sobre el caso Wanninkhof

Greetings from Tromaville

Zombies en el cañaveral

Holiday

Red State

Bohemian Rapshody

Joker

Green room

Freud: The secret passion

The Show

Atrapado en el túnel

Free guy

Frances Ha

Venom

A scanner darkly

Black Widow

Ron da error


Pelis vistes a Sitges:

Hunter Hunter

Alien on stage

Caveat

Werewolves wihin

La Pasajera

Witch hunt

Censor

Le calendrier

Mona Lisa and the blood moon

Wyrmwood apocalypse

Broadcasting signal intrussion

Realidad virtual

Cliff Walkers

The amusement park

The deep house

The Sadness

The boy behind the door

Llanto Maldito

The trip

The knocking

Lamb

in the earth

the exorcism of god

Superhost

The power

El páramo

Hand rolled cigarrete

Limbo

Barbarians

Antlers

Eight for silver

The medium

The Samejima incident

She will

Nitram

Demonic

Last night in soho

The great yokai wars, Guardians

Son

Tides

Dashcam


Top 5 i bottom 5 Sitges:


Top 10 (de millor a pitjor):

The Sadness

Last night in soho

Dashcam

Alien on stage

Censor

The trip

Limbo

Lamb

Son

The deep house


Bottom 5 (de millor a pitjor):

Caveat

Broadcasting signal intrussion

The boy behind the door

Llanto Maldito

The knocking


Curts:

desert


Llibres que he llegit:

The mythical man-month

Object Oriented Programming, Timothy Budd

Clean Code, Robert C. Martin

It doesn’t have to be crazy at work, Jason Fried, David Heinemeier

Ready player two, Ernest Cline

Dune (rellegit)


Comics:

molts, he perdut el compte


Series a les que m'he enganxat (sense ordre particular):

La casa de papel s1,s2,s3,s4,s5

Squid game

The Soprano s1-s6

Seinfield s1-s9

Sweet Home

The morning show s1

Unorthodox

High Score

Servant s1,s2

It’s a sin

Wandavision

The Boys s2

Raised by wolves

Calls

Snowpiercer s2

Invincible

Mrs. Fletcher

The Crown s4

Ted Lasso

The royal house of windsor

Falcon and the winter Soldier

Snabba Cash

Queen’s Gambit

Jupiter’s Legacy

El vecino s1, s2

Loki

Sweet Tooth

Inside Job

The billion dollar code

Borat’s American Lockdown

Black Summer s1,s2

Todo lo otro s1

black Mirror s1,s2,s3

Station Eleven

The Silent sea

Hellbound

Hawkeye

Curb your enthusiasm s1,s2,s3


Teatre:

Faemino y Cansado. Quien tuvo, retuvo


Documentals:

High Score

El Pepe a supreme life

Brexit at closed doors

Pobreza en Estados Unidos

Power of Grayskull

Allen vs. Farrow

Billie Eilish, the world is little blurry

Wrinkles the clown

El Víbora, Solo para supervivientes

El Terrat, los primeros 30

Lolo Rico, la mirada no inventada

The Reagan show

El culo del mundo

Friends: The reunion

Barça Dreams

Dirty Money s1, s2

Becoming Warren Buffet

Heroin, Cape Cod, USA

Spielberg

Q into the storm

La Familia

Lo and behold: el inicio de Internet

Los bots del dinero

El arma perfecta

Galácticos

El chico más bello del mundo

Jodorosky’s dune

La dura cerdad sobre la dictadura de Franco

El fin de ETA

Story of plastic

Cryptopia: Bitcoin, Blockchains and the future of the Internet

San Julian: el poder de la ilustración

What happenes to Brittany Murphy?

Springboard

NYC Epicenters 9/11 -> 2021


Sortides al Extranjer:

desert


Millors Hotels als que he anat:

Hostal Sa Tuna


Millors restaurants:

Yatai

La forquilla (2)

Dolsotbap

Devil’s Kitchen

Hostal Sa Tuna


20210212

The ultimate purge logs bash script for Laravel

Let's assume that you have a very large log table that can grow up to millions of records.

 In this example the table is named activity_logs and VERY IMPORTANT it should have an index in created_at to allow us to remove records by date.

If you put this shell script in the root folder of your Laravel project it will take the database credentials from your .env file and purgue the log table day by day, from an starting date to an end date (in the example from 6 months ago to 2 months ago)

#### Contents of purge_logs.sh

dbhost=$(grep -oP '^DB_HOST=\K.*' .env)
dbpass=$(grep -oP '^DB_PASSWORD=\K.*' .env)
dbname=$(grep -oP '^DB_DATABASE=\K.*' .env)
dbusername=$(grep -oP '^DB_USERNAME=\K.*' .env)

i=$(date --date="6 months ago" +"%Y-%m-%d")
limit=$(date --date="2 months ago" +"%Y-%m-%d")
while [ "$i" != "$limit" ]; do
    echo $i limit $limit
    tomorrow=$(date -I -d "$i + 1 day")

    mysql -u $dbusername -p$dbpass -h $dbhost --default-character-set=utf8 $dbname << EOF
delete from activity_logs
where
created_at>='$i'
and created_at<'$tomorrow'
EOF

    sleep 5
    i=$tomorrow
done

#### end of purge_logs.sh

Explanation

Those lines take the db parameters from the .env file and make them available to the script.

dbhost=$(grep -oP '^DB_HOST=\K.*' .env)
dbpass=$(grep -oP '^DB_PASSWORD=\K.*' .env)
dbname=$(grep -oP '^DB_DATABASE=\K.*' .env)
dbusername=$(grep -oP '^DB_USERNAME=\K.*' .env)

Then configure the starting date and the limit

i=$(date --date="6 months ago" +"%Y-%m-%d")
limit=$(date --date="2 months ago" +"%Y-%m-%d")

You can change the parameters as long as they are valid date params, for example you can use "today", "tomorrow", "2 weeks ago", ...

In the next two lines we'll start the loop and echo the dates for debug purposes, and guess the next day in the variable "tomorrow", beware, the limit should be greater than the start date, if you don't want an infinite loop :)

while [ "$i" != "$limit" ]; do
    echo $i limit $limit
    tomorrow=$(date -I -d "$i + 1 day")

 Then launch mysql with the script to delete the records between $i and $tomorrow

     mysql -u $dbusername -p$dbpass -h $dbhost --default-character-set=utf8 $dbname << EOF
delete from activity_logs
where
created_at>='$i'
and created_at<'$tomorrow'
EOF

 In the last lines we'll sleep for a while to avoid stressing our server and recalculate the $i date

    sleep 5
    i=$tomorrow
done

Finally you can add a line in your crontab to run the script once a day for example:

10 0 * * * cd root_folder; ./purge_logs.sh

Hope this help

 

20210101

Post resum 2020

Gadgets of the year (comprats o regalats):
Cap

Samarretes del any:
Ink Snorlax
Dark Star Summer Camp
LeChuck Grog
Offline Park
2020 bad review
psycho star wars
raise spirits up
I don’t always test my code but when I do, I do it in production
I am an engineer to save time, just assume I’m aleays right


Friky coses guays:
Stimulus
Sails.js
nedb
Redox
Tactician
inertia.js
svelte.dev
structurizr.com
strapi.io
dgraph.io
deno.land
https://www.biotech-foods.com
beekeeperstudio.io


Jocs als que m'he viciat aquest any:
Fallout Shellter
PUBG mobile
COD mobile

Grups guays que he descobert aquest any:
Bigott
Lisasinson
Crushed Beacks
Pet Shimmers
Alvvays
Comando Suzie
Soviet Soviet
Anabel lee
Topographies
Automatic
Chelsea Wolfe
Somos la herencia
Ambros Chapel
Luna y panorama de los insectos
Marcelo Criminal
Ela Minus
Décima víctima

Concerts als que he anat:
RIDE + Crushed Beaks
Sandy (Alex G) + Pet shimmers

Pelis que he vist:
Girl
The drug king
I’m not a serial killer
Toy Story 4
Captain Marvel
Thor el reino oscuro
Thor Ragnarok
Guardians of the galaxy
Guardians of the galaxy vol 2
Ant-man
Captain America winter soldier
Captain America Civil War
Time to hunt
Avengers Age of Ultron
Dr. Strange
Avengers Infinity War
Guns Akimbo
Grabbers
I love you, stupid
Rampant
The Clobberfield Paradox
Da 5 Bloods
Dolor y gloria
Velvet buzzsaw
Shin Godzilla
You were never really here
Mortal engines
Canino
The rules of attraction
Jupiter’s moon
1984
Greyhound
The old guard
Snowpiercer
Tiempo después
1917
System error
Extraterrestre
Outbreak
American Pickle
Illang la brigada del lobo
The wandering earth
#Alive
Aquaman
Take shelter
Showgirls
Borat 2
The Purge: Anarchy
Padre no hay más que uno
La caída del imperio Americano
La edad de la ignorancia
Please stand by
De Pollos y hombres
Old boy
On the rocks
Blade runner 2049
Dans la brume
Under the skin

Pelis vistes a Sitges:
The night
Vicious fun
La funeraria
Blackwater: Abyss
The pale door
Archenemy
Kubrick by Kubrick
Bumperkleef
Malnazidos
Lucky
Spirit walk
La vampira de Barcelona
Mandibules
The queen of black magic
Boys from country hell
No matarás
The old ways
Mosquito state
May the devil take you 2
She dies tomorrow
Tin Can
A perfect enemy
Le Nuee
Soul
Ghost in the shell
Snowden

Top 5 i bottom 5 Sitges:

Top 5 (de millor a pitjor):
Mandibules
Bumperkleef
Le Nuee
The queen of black magic
A perfect enemy

Bottom 5 (de millor a pitjor):
She dies tomorrow
Lucky
The pale door
La funeraria
Tin Can

Curts:
Cap

Llibres que he llegit:
Open, Andre Agassi
Sapiens
Historias de terror, Liz Phair
El consentimiento, Vanessa Sprinzora

Comics:
The Boys, tomos 1,2,3
Guardians of the galaxy vol1, vol2
Raven
Snowpiercer
X-Men la saga Messiah Complex


Series a les que m'he enganxat (per ordre d'adiccio):
Dracula
Watchmen
Star Trek TNG s5,s6,s7
Picard
Kingdom s2
The Mandalorian
Upload
The Last Dance
La conjura contra America
Silicon Valley s6
See
The Purge s1, s2
Snowpiercer
Community
Dietland
Utopia s1, s2
El colapso
Watchmen
El fin de la comedia
Seinfeld
Little Britain USA
Norsemen s1, s2
Pure
Dragonslayer666
Días de mierda
Patria
Utopia 2020 us
Star Trek Discovery s3
Euphoria
Parlement
The Terror s1
30 monedas

Teatre:
Berto, cuanta tontería

Documentals:
McMillions
One child nation
Jeffrey Epstein: Filthy rich
Polansky, se busca
Garbo, the spy
Catalunya Barcelona: La historia catalana de Barcelona
Deep water
Eugenio
Sesión Salvaje
El Palmar de Troya
You don’t Nomi
The forum
Too funny to fail
El desafio ETA
Banksters
Oeconomia
James May, our man in Japan
This giant beast that is global economy

Sortides al Extranjer:

Cap

Millors Hotels als que he anat:
Sa Tuna

Millors restaurants:
Gorria (2)
Xerta
Lluerna
Ferran Cerro
Direkte

20200105

Post resum 2019

Exits:
omatech (parcial)

Gadgets of the year (comprats o regalats):
tado, smart air conditioning remote controller
Activ5
AirpodsPro

Samarretes del any:
Harry Pawter
Arrakis Surf
The Masters


Friky coses guays:
Cypress.io
omatech/laravel-imaginator
omatech/mage
editorjs.io
loom
flourish.studio
inertia.js
handsome tables
activ5
lucid architecture
apache kafka streams
quasar framework
debezium.io
openfaas
kubeless
Livewire
outklip.com
loadimpact.com
reqtest.com
phpspy
trix

Jocs als que m'he viciat aquest any:
Have Ho

Grups guays que he descobert aquest any:
Juanita y los feos
Cosmo K
Pablo prisma y las Piramides
La Plata
Axolotes Mexicanos
Las ligas menores
Confeti de Odio
Autoescuela
Rata negra
Joan as police woman
Schwervon!
American Football
Pantones
Sierra
Anari
Turquoise Days
Soccer Mommy
Siete70
Putilatex
Stephen Malkmus and the Jicks
Rojuu
Futuro terror
She passed away
Lebanon Hanover
Hawaiian Gremlins
Apartamentos Acapulco

Millors concerts als que he anat:
Petroleo al RAZZ
Yo la tengo al Apolo
Florence and the machine al Palau Sant Jordi
Ojete calor al RAZZ
Primavera sound 2019
Los Punsetes al RAZZ
Pixies al Sant Jordi Club

Millors pelis que he vist:
La pianiste
Bird box
Spiderman nuevo universo
The favourite
One cut of the dead
Blackkklansman
The dead don’t die
Brexit
Once upon a time in Hollywood
Train to Busan
Terminator: Genesis
Passengers
Farenheit 451
Scape from New York
Scape from LA
The offspring
The woman
Darkest hour
Parasite
The founder
Star wars the rise of Skywalker

Altres pelis que he vist:
Roma
Detective Pikachu
Demon hunter Nezha

Pelis vistes a Sitges:
Code8
One piece Stampede
Bodies at rest
Ready or not
Little monsters
Dark encounter
Ventajas de viajar en tren
Antrum
The room
The deeper you dig
Vivarium
The Nest
Judy and punch
L’Angle mort
Snatchers
Body at Brighton rock
Amigo
Daniel isn’t real
Misterio de la noche
Corporate animals
I trapped the devil
Super me
The mute
El hoyo
After midnight
J’ai perdu mon corps
Come to daddy
Girl on the third floor
The gangster, the cop and the devil
synchronic
Depraved
Swallow
The cleansing hour
Extra ordinary
Le Daim
Yves
Dawn
Sadako
The wild goose lake
Colour out of space
Hail Satan?
Memory, The origins of Alien


Top 10 i bottom 10 Sitges:

Top 10:
1. Ventajas de viajar en tren
2. El hoyo
3. Amigo
4. Swallow
5. Extra ordinary
6. Little monsters
7. Snatchers
8. Ready or not
9. The cleansing hour
10. Colour out of space

Bottom 10 (de mejor a peor):
10. Girl on the third floor
9. Bodies at rest
8. Body at Brighton Rock
7. Sadako
6. Dark encounter
5. Depraved
4. L'Angle mort
3. I trapped the devil
2. Misterio de la noche
1. Antrum

Curts:
Get your brain back
Limbo
Experimentos para transformar la fe en energia
Maw
Things Were
Better Before
Imaginario
Coda Sacra
Bath Bomb
I’m the doorway
Five course meal


Llibres que he llegit i m'han agradat:
El bosque oscuro
El fin de la muerte
Pensar rápido, pensar despacio
How to win friends and influence people
Hola mundo

Comics:
La muerte de Lobezno
Mandela y el general


Series a les que m'he enganxat (per ordre d'adiccio):
The boys s1
Star trek discovery s2
Flea Bag s2
Years and years
Kingdom s1
Game of thrones s8
Stranger things s3
The Witcher s1
Mind Hunters s2
Chernobil s1
Big little lies s1, s2, s3
Peaky Blinders s5
The crown s1, s2, s3
Star Trek TNG s1 s2 s3 s4
Silicon Valley s4,s5
The deuce s2
Love s1 s2
El Pionero
The alienist s1
Mira lo que has hecho s1 s2
Electric Dreams s1
Mars s1
El caso Alcasser
Another life s1
The umbrella academy s1

Teatre:
El Dolor, Marguerite Duras al TNC

Documentals:
Desenterrando Sad Hill
La guerra del wolframio
Las dos catalunyas
Jane Fonda in 5 acts
Generation wealth
Leaving Neverland
Global Junk Food
The Creepy Line
Wild Wild Country
The inventor: Out for blood in Silicon Valley
The Big Hack
En la mente de Robin Williams
HAK_MTL
Kurt and Courtney
ww2 in color

Sortides al Extranjer:
Madrid

Millors Hotels als que he anat:
Double tree by Hilton, Girona

Millors restaurants:
Celler de can Roca
Massana
Hofmann
Gorria
Minyam
Echegaray
Dos palillos
Els pescadors


20191217

Collatz Conjeture in PHP

I've made some versions of the Collatz Conjeture in PHP, this is the most simple, it didn't use any array storage to avoid filling the computer memory.

It takes 163 seconds in my MacBook to test first 10.000.000 integers.

Sample output (after 163 seconds):
ENDED CHECKING UNTIL 10000000 in 163 seconds (61349.693251534 numbers per second)


$limit=10000000;
$i=2;
$checked=array();
$start=time();

while ($i<=$limit)
{
    //echo "$i : ";
    if (!collatz($i))
    {
        echo "$i NO!\n";
        die;
    }   
    $i++;
}
echo "\n";

$end=time();
$elapsed=$end-$start;
$numbers_per_second=$limit;
if ($elapsed>0) $numbers_per_second=$limit/$elapsed;

echo "ENDED CHECKING UNTIL $limit in $elapsed seconds ($numbers_per_second numbers per second)\n";

function collatz ($i)
{
    if ($i==1) return true;

    //echo "$i,";
    if ($i%2==0)
    {// par
        $i=collatz($i/2);
    }
    else
    {// impar
        $i=collatz(($i*3)+1);
    }
    return $i;
}


Collatz Conjeture in Rust

As a test of Rust language I've done a simple Rust checker from 1 to 10.000.000 it takes 18 seconds in my MacBook.

Sample output (after 18 seconds):
10000000 numbers checked in 18 seconds (555555 numbers per second)

use std::process::exit;
use std::time::Instant;

fn main() {
    let mut i=1;
    let start = Instant::now();

    while i<=10000000
    {
        let res=collatz(i);
        if res
        {
            i=i+1;
        }
        else
        {
            println!("{} NO!!!", i);
            exit(1);
        }
    }
    let elapsed=start.elapsed().as_secs();
    println!("{} numbers checked in {} seconds ({} numbers per second)", i-1, elapsed, (i-1)/elapsed);
}

fn collatz(i: u64) -> bool
{
    let mut res;
    res=false;

    if i==1
    {
        res=true
    }
    else
    {
        if i%2==0
        {// par
            res=collatz(i/2);
        }
        else
        {// impar
            res=collatz((i*3)+1);
        }
    }
    res
}


20191119

Avoid wt.social sending mails all the time

If you have signed in into wt.social lately you'll find that the new social media platform sends a lot of mails by default, to avoid that you can go to the menu->notifications section once you are logged in and uncheck all the email notifications.


20190912

Check if a folder is in use from PHP in a linux system

Sample code to check if a file is in use before loading data, for example if an FTP is writing to the file.

In fact we check for the entire folder, in this example a constant called DIR_XMLS, if any file is open in the operating system we abort the load.

$file=DIR_XMLS.'xxx.xml';
if (!file_exists($file)) die ("File $file does not exist, skipping step! \n");
$chkcmd="lsof|grep ".DIR_XMLS."|wc -l";
exec($chkcmd, $output, $return);
if ($output[0]>0)
{
die("Aborting process ".DIR_XMLS." is in use!\n");
}

20190102

Post resum 2018

Gadgets of the year (comprats o regalats):
Apple tv 4k 64Gbs
Tenda wifi mesh
Mando carregador per la Nintendo Switch

Samarretes del any:
Mapachao de to!
No spoilers please
Nekobasu
La invasion de los ultracuerpos

Friky coses guays:
Codeception
YAGNI

Jocs als que m'he viciat aquest any:
Sparkle unleashed
Sparkle 2
Player Unknown Battlegrounds Mobile
Overcooked 2


Grups guays que he descobert aquest any:
The Brian Jonestown Massacre
This Cold Night
Klaus and Kinski
Tronco
Cariño

Millors concerts als que he anat:
Primavera
Cruilla
Triangulo de amor bizarro al RAZZ

Millors pelis que he vist:
The disaster artist
Star wars: The last Jedi
Nocturnal animals
Muchos hijos un mono y un castillo
Madre!
Colossal
The incredibles 2
Teen titans go
Los principios del cuidado
Ralph rompe internet

Altres pelis que he vist:
Steve Jobs
Warcraft el origen
Estiu 1993
La llamada
Black Panther
Ready player one
Annihilation
Toni Erdman
Infinity war
Hereditary
I am a Hero
John Wick pacto de sangre
Red
Red 2
Rey Arturo: la leyenda de Excalibur
Jack Reacher
Molly’s game
Expediente Warren, El caso Endfield
Kiki el amor se hace
Multiple
Operacion UNCLE


Millors pelis de Sitges:
1. The House Jack Built
2. Upgrade
3. Await further instructions
4. Monstrum
5. Assassination Nation
6. Lord of Chaos
7. Under the silver lake
8. Overlord
9. I think we are alone now
10. Parallel

Altres pelis vistes a Sitges:
Ghostland
Detective Dee and the four heavenly kings
Life after flash
Elisabeth Harvest
Climax
Summer of 84
Aterrados
Apostle
Laika
Liz and the blue bird
Legend of the demon cat
Mandy
St. Agatha
Journal 64
He’s out there
Animal
Un coteau dans le coeur
 Fuga
 Lazzaro Feliche
Dragged across concrete
The unthinkable
Muere monstruo, muere
A rough draft
Burning
Kasane
CAM
Totoro
I want to eat your pancreas
Halloween


Curts:


Llibres que he llegit i m'han agradat:
Chica, chico, chica

Comics:
Saga
Phonogram

Series a les que m'he enganxat (per ordre d'adiccio):
Sharp objects
Haunting of house hill
Star Trek Discovery s1
Flea Bag
Dark
Killing Eve s1
The bodyguard s1
Into the Badlands s1, s2
Peaky blinders s1, s2, s3, s4
The handmaid’s tale s1, s2
Fariña
The terror
Preacher s1
El dia de mañana
Arde Madrid
Sabrina

Teatre:
Faemino y cansado, quién tuvo retuvo
Ilustres ignorantes

Documentals:
Categoria III
The minimalists

Sortides al Extranjer:
Madrid
Lanzarote
Valencia
Bratislava
Vienna
Gunzburg (Legoland)
Galicia

Millors Hotels als que he anat:
La florida
Vienna House Easy

Millors restaurants:
Koy Shunka
Gorria
Mas que tapas, Reus
Massana, Girona (2)
Els pescadors
Bratislavsky Mestiansky pivovar
La forquilla
Yoshino
Puerta del Sol, Oropesa
Takumi
Disfrutar
Culler de Pau
Fogar de Santiso
Tira do cordel