miércoles, 8 de junio de 2022

Script para reiniciar audio en Mac

Para restablecer el sistema de audio en OS X, la forma en la que lo hacía era buscar el comando para ejecutarlo desde terminal.

sudo -s killall coreaudiod

Dado que he necesitado varias veces hacerlo y no recuerdo el mandato lo asigno a un atajo de teclado.

  • Abrir Automator para crear un servicio. Escoger opción "Quick Action"
  • Agregar el paso "Run Shell Script"
  • Escribir el código:
osascript -e 'do shell script "sudo -s killall coreaudiod" with administrator privileges'
  • Indicar "no input" en cualquier aplicación como entrada a recibir
  • Guardar
(De esta forma se ejecuta el comando solicitando la contraseña necesaria para aprobar la acción)



Para agregar un atajo de teclado
  • Ir a Preferencias del sistema - Teclado - Atajos - Servicios
  • En el listado debe estar el script creado anteriormente (Una vez creado como Acción rápida y guardado con el nombre indicado se muestra en esa sección) Agregar una combinación de teclas a utilizar para ejecutar el script.

Una vez hecho todo esto al usar el atajo de teclado se ejecuta el script solicitando la autorización necesaria.




sábado, 12 de marzo de 2022

¿Qué tienen en común la esclavitud y el patriotismo?

En la actualidad querer decir que la esclavitud es algo bueno es inaceptable. Algo que solo se les ocurre a algunos pocos pero rechazada por la inmensa mayoría independientemente de religión, raza, ideología política.

Pensemos por un momento en la humanidad hace miles de años, cómo era cuando aún no existía la agricultura, ganadería y solo existían nómadas en busca de alimentos. Grupos pequeños que iban de un lugar a otro y si se encontraban con otros y luchaban por los recursos posiblemente terminaban matando a sus oponentes. Así que si pasamos de matar a dejarle con vida y obligarle a trabajar, esto facilita la vida al conquistador. Puede poner a trabajar a otros. Obliga a los esclavos a construir, arar, y con ello evoluciona. En ese contexto es un paso adelante. En ese contexto la esclavitud puede ser vista como algo positivo y un avance. Por supuesto no es el único punto de vista a tener. El punto es que algo que ahora es totalmente inaceptable y un retroceso en ese entonces era algo aceptable y un avance. Hay que entender el contexto y significado que pudo tener en aquel entonces; así como Tomas Jefferson, fundador de EE.UU., proclamaba la libertad de toda persona pero tenía esclavos, ya que se liberaban los blancos de tener un rey que gobernaba en Inglaterra pero no se liberaba a los negros pues los consideraban inferiores.

Así mismo el patriotismo conectó a las personas a luchar, avanzar, se hizo sinónimo de orgullo y progreso. Y tras ello podemos distinguir elementos como la unión, confraternización, cooperación y demás características o virtudes. Pero también tenemos que distinguir las negativas.

Hay distintas formas de ver un partido de fútbol en un estadio. Una forma puede ser sentados con familiares, amigos, niños, mayores, mezclados los distintos hinchas, avivando sanamente y disfrutando del juego independiente de los resultados. Otra forma puede ser evitando llevar a mujeres, niños, ancianos, teniendo vallas entre el público y el campo, avivando con insultos, los hinchas separados según equipo, siendo obligados a salir una hinchada y luego otra, con fuertes controles policiales, peleas.


Y así como el ejemplo del futbol, hay rivalidades entre grupos que son de un pueblo con el pueblo vecino, de una región con otra región, de un país con otro país, de una religión con otra religión, un grupo político con otro. Un grupo con un sentido de pertenencia e identificación con el grupo vs el otro. Este mismo sentido de pertenencia se da en el patriotismo. Y mientras siga existiendo el patriotismo negativo seguirán existiendo guerras. Seguirá existiendo: esta tierra era nuestra o, es nuestra, o los unos vs los otros.

Así que la esclavitud y el patriotismo son un ejemplo de algo que en su momento sirvió de avance, evolución pero llega un tiempo en que es un retroceso. Solo sirven algunos elementos con los que se vincularon: unidad, enfoque en objetivos.

martes, 11 de mayo de 2021

Crear disparadores (Triggers) en Google Cloud

Tras recibir el error:

ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)


Leí que SUPER no está habilitado en las instancias de Google Cloud. Lo que permiten es configurar Marcas de bases de datos.

Seguir el procedimiento indicado:
  • Abrir la Consola
  • Ir a la instancia SQL
  • Editarla (En mi caso pidió activar la API de la consola previamente)
  • En la sección Marcas agregar el elemento deseado de la lista desplegable. log_bin_trust_function_creators
  • Guardar


Esperar a que el proceso termine y luego ya se puede crear disparadores. Después se puede eliminar la marca.

viernes, 7 de agosto de 2020

Monitor de actividad Mac no muestra columnas


Lo primero es comprobar que están activadas algunas columnas para mostrar. En el menú Visualización -> Columnas ->
Si están activas pero no se ven. Se cierra el Monitor de actividad. Y abrimos Finder -> Ir -> Ir a carpeta

Introducimos la siguiente ruta al fichero de configuración.
~/Biblioteca/Preferences/com.apple.ActivityMonitor.plist
Borramos el archivo.

Y abrimos el Monitor de actividad.

Visto en: https://macreports.com/activity-monitor-columns-are-missing-fix/



sábado, 27 de junio de 2020

MySQL. agrupar por fecha y contar incluido los ceros cuando no hay datos para una fecha



La idea la encontré en stack overflow "MySQL group by date and count including missing dates".
Consiste en generar tantos números como días se quiera. En el ejemplo se generan 10 mil filas. Y como se toma como referencia la fecha actual, son 10 mil días hacia atrás. Eso son más de 27 años.

create view datetable as
select
date_format(adddate(now(),-(a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a))),'%Y-%m-%d') AS date
from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4
union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4
union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4
union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4
union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as d
; 
Entonces, la idea es realizar un LEFT JOIN con esta vista para así obtener todas las filas incluidas las no relacionadas, y condicionar para el rango de fechas deseado. Por ejemplo, a continuación con una tabla de usuarios.
select 
    datetable.date,
    count(users.id) users
from
    datetable
    left join users on datetable.date = date_format(users.createdAt,'%Y-%m-%d')
where
    datetable.date 
        between date_format('2020-06-20','%Y-%m-%d') 
        and date_format('2020-06-30','%Y-%m-%d')
group by
    datetable.date;
+------------+-------+
| date       | users |
+------------+-------+
| 2020-06-20 |     0 |
| 2020-06-21 |     0 |
| 2020-06-22 |     0 |
| 2020-06-23 |     0 |
| 2020-06-24 |     0 |
| 2020-06-25 |     0 |
| 2020-06-26 |   207 |
| 2020-06-27 |     0 |
+------------+-------+
Todos los usuarios fuerondatos de alta el 2020-06-26 por eso se ve que ese día tiene los 207 usuarios y el resto de días cero. Aunque en el rango se indica entre el 20 y 30 de junio. La sentencia se ejecuta el 27 de junio que es la fecha actual que toma de referencia en la vista. Por ello, no se ve datos para el 28, 29, 30.
Entendiendo la idea se puede adaptar al problema a resolver.




sábado, 4 de mayo de 2019

Error de escritorio remoto cifrado CredSSP


Error de autenticación
No se permite la función solicitada
Puede deberse a una actualización de Oracle de cifrado CredSSP.
Para obtener más información, consulte https://go.microsoft.com/fwlink/?linkid=866660.


1) Abrir Símbolo del sistema en modo administrador. (clic derecho en Símbolo del sistema y luego en Ejecutar como Administrador)
2) Ejecutar el texto:
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /f /v AllowEncryptionOracle /t REG_DWORD /d 2
  • 0 = Forzar Clientes Actualizados —Las aplicaciones cliente que usan CredSSP no podrán recurrir a versiones inseguras.
  • 1 = Mitigado —Las aplicaciones cliente que usan CredSSP no podrán recurrir a versiones inseguras.
  • 2 = Vulnerable —Las aplicaciones cliente que utilizan CredSSP va a exponer a servidores remotos a los ataques mediante el apoyo de respaldo a las versiones inseguras.
Lo que se hace es configurar en modo vulnerable.


miércoles, 6 de marzo de 2019

MySQL en SQL Developer




En este caso interesa el JDBC Driver for MySQL

Escoge el sistema operativo en el que se utilizará. Para instalar en MAC: Platform Independent

Descarga el archivo ZIP en el que se encuentra el .jar

  • Segundo, añade el archivo en SQL developer->Preferencias
Bases de datos->Controladores JDBC de Terceros
Y agrega el archivo .jar




Al intentar utilizar MySQL con SQL developer puede dar un error:

«Status : Failure - The server time zone value 'AEST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specific time zone value if you want to utilize time zone support»

Añade al archivo de configuración my.ini en la instalación de MySQL después de [mysqld] la línea.

default-time-zone='+01:00'

Guarda y reinicia el servicio.

El archivo my.ini utilizado fue el de: C:\ProgramData\MySQL\MySQL Server 5.7\my.ini al tener la instalación en un Windows.

Otras rutas en las que se puede encontrar o crear el archivo de configuración:
C:\Windows\my.ini C:\Windows\my.cnf C:\my.ini C:\my.cnf C:\Program Files\MySQL\MySQL Server 5.7\my.ini C:\Program Files\MySQL\MySQL Server 5.7\my.cnf