Categorías
hoy aprendí ...

… a decirle a git que deje de darle bola al cambio de modo de los archivos

git config core.fileMode false

Encontrado en https://stackoverflow.com/a/1580644

Con una explicación muy buena:

Try:

git config core.fileMode false

From git-config(1):

core.fileMode
    Tells Git if the executable bit of files in the working tree
    is to be honored.

    Some filesystems lose the executable bit when a file that is
    marked as executable is checked out, or checks out a
    non-executable file with executable bit on. git-clone(1)
    or git-init(1) probe the filesystem to see if it handles the 
    executable bit correctly and this variable is automatically
    set as necessary.

    A repository, however, may be on a filesystem that handles
    the filemode correctly, and this variable is set to true when
    created, but later may be made accessible from another
    environment that loses the filemode (e.g. exporting ext4
    via CIFS mount, visiting a Cygwin created repository with Git
    for Windows or Eclipse). In such a case it may be necessary
    to set this variable to false. See git-update-index(1).

    The default is true (when core.filemode is not specified
    in the config file).

The -c flag can be used to set this option for one-off commands:

git -c core.fileMode=false diff

Typing the -c core.fileMode=false can be bothersome and so you can set this flag for all git repos or just for one git repo:

# this will set your the flag for your user for all git repos (modifies `$HOME/.gitconfig`)
git config --global core.fileMode false

# this will set the flag for one git repo (modifies `$current_git_repo/.git/config`)
git config core.fileMode false

Additionally, git clone and git init explicitly set core.fileMode to true in the repo config as discussed in Git global core.fileMode false overridden locally on clone

Warning

core.fileMode is not the best practice and should be used carefully. This setting only covers the executable bit of mode and never the read/write bits. In many cases you think you need this setting because you did something like chmod -R 777, making all your files executable. But in most projects most files don’t need and should not be executable for security reasons.

The proper way to solve this kind of situation is to handle folder and file permission separately, with something like:

find . -type d -exec chmod a+rwx {} \; # Make folders traversable and read/write
find . -type f -exec chmod a+rw {} \;  # Make files read/write

If you do that, you’ll never need to use core.fileMode, except in very rare environment.

Categorías
hoy aprendí ...

… a ordenar archivos en carpetas según el patrón de nombre

Descargando un montón de referencias desde Instagram usando esta maravillosa extensión, Instagram Download Button, me llené de archivos JPG y MP4 y se hacía necesario ordenarlos en carpetas.

El patrón es que todos los archivos tienen en la primer parte del nombre la perfil de Instagram y luego la fecha y hora original del posteo seguidos de un choclazo de números, así que tendría que ser «relativamente» sencillo poder encarpetarlos identificando el perfil.

nombre_perfil-YYYYMMDD_HHMMSS-XXXXXXXXX….. [jpg|mp4]

Buscando en encontré varias propuestas aproximadas para hacer algo como lo que quería

Y la opción ganadora

Extract part of a file name in bash

Específicamente esta respuesta que utiliza el comando SED. La única condición es que la primera parte no sean numeros.

El escenario

I have a folder with lots of files having a pattern, which is some string followed by a date and time:

BOS_CRM_SUS_20130101_10-00-10.csv (3 strings before date)
SEL_DMD_20141224_10-00-11.csv (2 strings before date)
SEL_DMD_SOUS_20141224_10-00-10.csv (3 strings before date)

I want to loop through the folder and extract only the part before the date and output into a file.

Output
BOS_CRM_SUS_
SEL_DMD_
SEL_DMD_SOUS_

La propuesta

Assuming you wont have numbers in the first part, you could use:

$ for i in *csv;do  str=$(echo $i|sed -r 's/[0-9]+.*//'); echo $str; done
BOS_CRM_SUS_
SEL_DMD_
SEL_DMD_SOUS_

Prueba

Cuando hice la prueba, solo mostrando el resultado del SED, funcionaba casi como lo deseaba, con el único tema que era que procesaba algunos archivos con otros patrón de nombre (que no eran necesarios) y los que si debía procesar dejaba el guión del medio.

Ejemplo:

almendromaestro-20220602_195749-285312905_1062446314350240_327302066906487345_n.jpeg

> almendromaestro-

Mi modificación a la RegExp

Agregar un guión que aparece antes de la regla para la fecha, así sólo busca los archivos que se aproximan al patrón.

sed -r 's/-[0-9]+.*//'

y pasó el testeo!

Script terminado

Básicamente hace un loop en todos los archivos que haya en la carpeta, separa el nombre y la almacena en STR (y lo mostramos para ir viendo el progreso), usa eso para verificar que si no existe una carpeta la crea, y luego mueve el archivo a la carpeta.

#!/bin/sh

for i in *.*
do
  str=$(echo $i|sed -r 's/-[0-9]+.*//'); 
  echo $str;
  if [ ! -d $str ]; then
      mkdir $str
  fi
  mv $i $str
done

Y chau!

Categorías
hoy aprendí ...

… a tener que escribir todo, incluso lo que ya sabía

Por que por más buena memoria que uno cree tener, a medida que el disco rígido se llena, cada vez es un esfuerzo mayúsculo tener que rememorar. Y a hacer limpieza!

Categorías
entropía ocio

Build Bárbaro D3

Legacy of Raekor Boulder Toss Set Build (TeamBRG)

Basada en las propuestas de TeamBRG

Conjunto completo de 6 piezas (cabeza, hombros, pecho, manos, pantalón y pies)

El legado de Raiquén / Legacy of Raekor

(2) Conjunto:

Carga furiosa restituye una carga si solo golpea a un enemigo.

(4) Conjunto:

Carga furiosa obtiene el efecto de todas las runas e inflige 1000% más de daño. Por cada 1% de vida faltante, el daño de tu Lanza ancestral se incrementa un 2%.

(6) Conjunto:

Golpear enemigos con Carga furiosa o Arrojar arma incrementa el daño de la siguiente Lanza ancestral un 5500% y hace que se generen múltiples lanzas desde el objetivo. Este efecto se acumula y cada lanzamiento consume un máximo de 5 acumulaciones.

Cinturón

(cualquiera) o recomendados:

Orgullo de Cassius / Pride of Cassius

Cintura
Bárbaro

Cinturón poderoso legendario

165 - 199
Armadura

Primaria
+[91 - 100] de resistencia a todos los elementos
+[416 - 500] de Fuerza

Secundaria
Incrementa [4 - 6] segundos la duración de Ignorar dolor. (Exclusivo del Bárbaro) 

+3 Propiedades mágica(s) aleatoria(s)

Cinto de Chilanik / Chilanik’s Chain

Cintura
Bárbaro

Cinturón poderoso legendario

26 - 31
Armadura

Primaria
+[416 - 500] de Fuerza

Secundaria
Grito de guerra incrementa un [30 - 40]% tu velocidad de movimiento y la de los aliados afectados durante 10 segundos. 

+4 Propiedades mágica(s) aleatoria(s)

Brazales

Salvación de Skular / Skular’s Salvation

Muñecas

Brazales legendarios

8 - 9
Armadura

Primaria
Probabilidad de golpe crítico incrementada en [4.5 - 6.0]%.

Secundaria
Incrementa el daño de Lanza ancestral - Lanzarrocas un 100%. Cuando Lanzarrocas golpea a 5 enemigos o menos, su daño aumenta [120 - 150]%. (Exclusivo del Bárbaro) 

Una de 3 propiedades mágicas (varía)
    +[416 - 500] de Destreza
    +[416 - 500] de Inteligencia
    +[416 - 500] de Fuerza

+3 Propiedades mágica(s) aleatoria(s)

Amuleto

Cualquiera dependiendo de los objetivos o Amuleto de Fuego

Anillos

Foco / Focus

Dedo

Anillo de conjunto

Secundaria
(1) Engarce(s)

Una de 3 propiedades mágicas (varía)
    +[416 - 500] de Destreza
    +[416 - 500] de Inteligencia
    +[416 - 500] de Fuerza

+4 Propiedades mágica(s) aleatoria(s)

Baluartes de la voluntad
Foco
Moderación
(2) Conjunto:
Después de impactar con un ataque o habilidad primaria que genera recursos, infliges 50% más de daño durante 5 segundos.
(2) Conjunto:
Después de golpear a un enemigo con un ataque que consume recursos, infliges 50% más de daño durante 5 segundos.

Moderación / Restraint

Dedo

Anillo de conjunto

Secundaria
(1) Engarce(s)

Una de 3 propiedades mágicas (varía)
    +[416 - 500] de Destreza
    +[416 - 500] de Inteligencia
    +[416 - 500] de Fuerza

+4 Propiedades mágica(s) aleatoria(s)

Baluartes de la voluntad
Moderación
Foco
(2) Conjunto:
Después de impactar con un ataque o habilidad primaria que genera recursos, infliges 50% más de daño durante 5 segundos.
(2) Conjunto:
Después de golpear a un enemigo con un ataque que consume recursos, infliges 50% más de daño durante 5 segundos.

Arma principal

El Horno / The Furnace

Dos manos

Maza de dos manos legendaria

116.5
Daño por segundo

124-135 de daño

0.90 ataques por segundo

Primaria
+[1177 - 1439]-[1410 - 1788] de daño de Fuego

Secundaria
Incrementa el daño contra élites un [40 - 50]%.

Una de 3 propiedades mágicas (varía)
    +[946 - 1125] de Fuerza
    +[946 - 1125] de Inteligencia
    +[946 - 1125] de Destreza

+3 Propiedades mágica(s) aleatoria(s)

Alternativa

Garduña de Messerschmidt / Messerschmidt’s Reaver

Dos manos

Hacha de dos manos legendaria

351.0
Daño por segundo

318-384 de daño

1.00 ataques por segundo

Primaria
+[1177 - 1439]-[1410 - 1788] de daño de Fuego

Secundaria
+[9142 - 13,371] de Vida luego de cada muerte
Reduce 1 segundo la recuperación restante de una de tus habilidades cada vez que asesinas a un enemigo. 1

Una de 3 propiedades mágicas (varía)
    +[946 - 1125] de Fuerza
    +[946 - 1125] de Inteligencia
    +[946 - 1125] de Destreza

+3 Propiedades mágica(s) aleatoria(s)

Cubo de Kanai

ARMA

La tricentésima lanza / The Three Hundredth Spear

Una mano

Lanza legendaria

84.6
Daño por segundo

57-84 de daño

1.20 ataques por segundo

Secundaria
Incrementa el daño de Arrojar arma y Lanza ancestral un [45 - 60]%. (Exclusivo del Bárbaro) 

Una de 7 propiedades mágicas (varía)
    +[981 - 1199]-[1175 - 1490] de daño de Veneno
    +[981 - 1199]-[1175 - 1490] de daño de Frío
    +[981 - 1199]-[1175 - 1490] de daño de Rayo
    +[981 - 1199]-[1175 - 1490] de daño
    +[981 - 1199]-[1175 - 1490] de daño Sacro
    +[981 - 1199]-[1175 - 1490] de daño Arcano
    +[981 - 1199]-[1175 - 1490] de daño de Fuego
Una de 3 propiedades mágicas (varía)
    +[626 - 750] de Fuerza
    +[626 - 750] de Destreza
    +[626 - 750] de Inteligencia

+3 Propiedades mágica(s) aleatoria(s)

ARMADURA

Defensores partanos ancestrales / Ancient Parthan Defenders

Muñecas

Brazales legendarios

8 - 9
Armadura

Secundaria
Cada enemigo aturdido dentro de 25 yardas reduce tu daño recibido un [9 - 12]%. 

Una de 3 propiedades mágicas (varía)
    +[416 - 500] de Destreza
    +[416 - 500] de Inteligencia
    +[416 - 500] de Fuerza

+4 Propiedades mágica(s) aleatoria(s)

Mi preferencia según la ocasión: Brasales de Némesis para fisuras / Brazal de Mortick si se juega con Furia del Vesánico.

JOYERÍA

Convención de los elementos / Convention of Elements

Dedo

Anillo legendario

Primaria
Probabilidad de golpe crítico incrementada en [4.5 - 6.0]%.

Secundaria
(1) Engarce(s)
Obtienes un [150 - 200]% más de daño para un único elemento durante 4 segundos. Este efecto no estático alterna entre los elementos disponibles de tu clase en el siguiente orden: Arcano, Frío, Fuego, Sacro, Rayo, Físico y Veneno. 

Una de 3 propiedades mágicas (varía)
    +[416 - 500] de Destreza
    +[416 - 500] de Inteligencia
    +[416 - 500] de Fuerza

+2 Propiedades mágica(s) aleatoria(s)

Una alternativa mía:

Sortija de fuerza / Band of Might

    Dedo

    Anillo legendario

    Primaria
    Probabilidad de golpe crítico incrementada en [4.5 - 6.0]%.

    Secundaria
    Después de lanzar Carga furiosa, Pisotón o Salto, recibes un [60 - 80]% menos de daño durante 8 segundos. (Exclusivo del Bárbaro) 

    Una de 3 propiedades mágicas (varía)
        +[416 - 500] de Destreza
        +[416 - 500] de Inteligencia
        +[416 - 500] de Fuerza

    +3 Propiedades mágica(s) aleatoria(s)

Gemas Legendarias

  • Azote del cautivo
  • Azote del afligido
  • Alteración esotérica

Habilidades activas / Runas

  • Carga furiosa / (cualquiera)
  • Lanza Ancestral / Lanzarrocas (4)
  • Pisotón / Choque desgarrador (2)
  • Ingnorar dolor (libre) / Coraza de hierro (2)
  • Furia del Vesánico / Insania (2)
  • Grito de Guerra / Advertencia del veterano (4)
    Opción: Furia Bélica / A la batalla (4)

Habilidades pasivas

  • Inclemente
  • Arremetida
  • Favor de Bul-Kathos
  • Nervios de acero
  • (Animosidad)

Prioridades en cambios de estadísticas

Raekor’s Boulder Toss Rerolls & Stat Priority (Basic)
CabezaSTRVITCHCRESAny
HombrosSTRVITRESCDRLife%Any
PechoSTRVITRESLife%Elite%
ManosSTRVITCHCCHDCDRAny
PiernasSTRVITRESAny
PiesSTRVITRESSpear%MS%Any
CinturónSTRVITRESLpFSLife%Any
BrazalPhys%CHCSTRVITRESAny
CuelloPhys%CHCCHDSTRAny
AnillosCHCCHDSTRCDR
Arma principalSTRDMG%CDRVITAny
Arma secundaria

Engarces son prioridad en Yelmo, Anillos, Amuleto, Pechera (3), Pantalones (2)

STR (fuerza) / VIT (vitalidad) / CHC (prob. daño crítico) / RES (resistencia) / CDR (reducción de recuperación) / CHD (daño crítico incrementado) / Spear% (inc. daño lanza) / MS% (velocidad de movimiento) / LpFS

Categorías
miArte

Prints on DeviantArt

https://www.deviantart.com/almendro/shop/prints