Aparentemente este fue muy fácil, pero aún no lo pude comprobar y ya me ha pasado antes que al tratar de hacer un live usb con alguna distro de linux en Mac no funciona. Esta vez cambié al forma de hacerlo con las instrucciones de esta web, que acá explico:
En una terminal escribir diskutil list para ver la lista de dispositivos.
Descrifrar cuál es el usb (sí, el usb tiene que estar conectado), normalmente tiene estas características /dev/disk2 (external, physical).
Desmontar el usb diskutil unmountDisk /dev/diskX <- OJO cambiar la X por el número correcto.
Copiar la distro live al usb con sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m <- hay una r antes del disco esa es importante y OJO cambiar la X también.
Al terminar la Mac puede advertir The disk you inserted was not readable by this computer simplemente seleccionar ignore y listo.
Esperemos que todo funcione y que no tenga que hacer otro post de como hacer esto correctamente.
Siguiendo con los pasos para instalar Arch (distro Antergos), ahora tocó hacer el espacio en el disco duro. Este es un paso incómodo (o así lo creía) ya que siempre que leo acerca de esto empiezan con cosas como que el swap que el boot, que el no sé que, que no te vayas a equivocar de nombre porque lo borras todo, que no olvides de dejar no sé que espacio para que otra cosa y así siempre cosas diferentes.
No fue así. Fue muy fácil
Abrí el programa Disk Utility - de Mac que ya viene isntalado, ni siquiera tuve que buscar instalarlo. Y ahí escoges el disco duro de la compu - el cual debe tener una partición lista - la del sistema operativo actual.
Moví la configuración para la nueva partición, le puse nombre, espacio (recomendaban 30 gigas así que le dí 40) y apreté el botón para continuar.
Después de un rato se reinició la computadora y los cambios estaban listos.
Lo que me dio mucha confianza es saber que Mac se ocupa de hacer el cambio de tamaño de la partición principal/actual y avisa que la nueva no se va a poder modificar (pero si eliminar y hacer todo de nuevo), es decir, es muy fácil volver a empezar.
Dado que ultimamente he estado hablando mucho de herramientas/apps/programas más técnicos, esta vez decidí empezar a describir las apps (que vale la pena hacerlo) que ayudan con mi productividad todos los días.
ShiftIt es una app que permite reacomodar programas/ventanas con shortcuts de teclado (apretando teclas específicas).
En su momento cuando estuve buscando este tipo de apps, había muchas y en una chance instalé una (no me acuerdo del nombre) que me permitía cambiar, crear, combinar funcionalidad y todo con JavaScript - me gustó mucho la idea, pero tampoco hizo tanta diferencia ya que en realidad las tìpicas combinaciones (las describo abajo) ya las había probado con ShiftIt y no me sentí más agusto así que decidí volver - tmb esta se puede instalar con Homebrew así que con eso lo incluyo en mis .dotfiles y listo (dos temas para dos posts más).
Las combinaciones que más uso son las más típicas y cómodas, y cabe recordar que cada uno de estos programas tiene su propia combinación de teclas para ejecutarse - en el caso de ShiftIt es CONTROL + ALT + COMMAND.
Maximizar: CONTROL + ALT + COMMAND + m
Acomodar las apps en grid de 4x4:
Arriba a la izquierda: CONTROL + ALT + COMMAND + 1
Arriba a la derecha: CONTROL + ALT + COMMAND + 2
Abajo a la izquierda: CONTROL + ALT + COMMAND + 3
Abajo a la derecha: CONTROL + ALT + COMMAND + 4
Acomodar las apps en mitad de la pantalla:
Arriba: CONTROL + ALT + COMMAND + flecha arriba
Abajo: CONTROL + ALT + COMMAND + flecha abajo
Izquierda: CONTROL + ALT + COMMAND + flecha izquierda
derecha: CONTROL + ALT + COMMAND + flecha derecha
Centrar (esta la uso muy poco): CONTROL + ALT * COMMAND + c
Hay varios más que podría estar usando, como agrandar o achicar las pantallas y moverme entre una pantalla y otra, pero como casi no necesito eso, no las uso.
Ahí tienen, así voy a escribir de otras apps que tmb uso.
Para poder hacer el dual boot se necesita poder escoger qué sistema operativo se va a usar, para esto entra rEFInd.
Esta parte no fue difícil, hay un tema de algo llamado SIP (System Integrity Protection) por lo que hay que hacer un cambio rápido a la Mac en “Modo Recovery”:
Reiniciar la computadora
Cuando se eschucha el “chime” apretar CONTROL + R
En modo recovery aparece una ventana con 4 opciones - no hacer caso, en lugar ir al menú superior y en la opción Utilities seleccionar terminal
Escribir csrutil disable y apretar enter
Reiniciar
No es nada del otro mundo y se puede regresar al modo anterior con los mismos pasos pero cambiando el comando por csrutil enable.
Después de eso, en el usuario normal buscar la manera con la que uno se siente más cómodo para obtener rEFInd acá (en mi caso fue el zip porque no encontré el archivo para instalar en el repo) y ejecutar el archivo con ./refind_install. Reiniciar - en esta ocasión ya tendremos que seleccionar el SO desde rEFINd.
One Does Not Simply Correctly install Arch Linux on the first try
Desde hace mucho que vengo pensando en darle una intentada a instalar Arch Linux. Me recomendaron Antergos para empezar. Y como justo tengo una mac air que le vendría bien un power up, decidí que está bueno ponerme a invstigar cómo hacerlo.
La idea es tener un dual boot de Mac OSX y Antergos para probar y si todo sale bien capaz y hacer sólo la instalación de Arch, pero eso será otro post.
Así que bueno, a intentarlo de una vez.
Acá me dejo los links de referencia que usaré (y que ya estuve leyendo).
Only the paranoid will survive and inherit the earth
openssl
Hablemos primero de lo que pasó: necesité que me mandaran una contraseña, la manera “insegura” (y que creo todos hemos tipicamente usado) es pasarla por email o chat (a veces en partes para hacerlo más seguro, a veces no).
Y, para que me llegara una contraseña me encontré decifrando direcciones url + decriptando hashes + borrando todo y guardando las cosas en una “caja segura”.
La idea es que, para pasar una contraseña la buena práctica implica usar por lo menos dos cananales diferentes para transmitir datos - así si alguien está escuchando un canal, sólo escucha parte de la conversación.
Lo divertido es que a través de uno de los canales se hace llegar una contraseña encriptada y a través del otro, la clave para decriptar la contraseña original. Fue ahí donde descubrí openssl.
Con esta herramienta puedo encriptar/decriptar (cifrar/descifrar) palabras o frases y así transmitirlas - de una manera en la que para “entenderlas” se necesita la clave descifradora.
¿Cómo funciona?
echo 'Esta sería la contraseña' | openssl enc -base64 -e -aes-256-cbc -pass pass:esta_es_la_clave_cifradora_descifradora
Y esto nos da: U2FsdGVkX1/l9mGydcS6YSQHL7Mp564njMvaBpJZnEv/IR3mfg2Ojh3NMF/2GYEr
Genial, y luego? Pues luego la podemos descifrar así:
echo U2FsdGVkX1/l9mGydcS6YSQHL7Mp564njMvaBpJZnEv/IR3mfg2Ojh3NMF/2GYEr | openssl enc -aes-256-cbc -d -a
Y ahí nos pregunta por la clave (también se le podríamos dar como argumento en la forma -pass pass:esta_es_la_clave_cifradora_descifradora).
Y kapow!: Esta sería la contraseña
También sirve para archivos
Cifrar
openssl aes-256-cbc -a -salt -in 'ruta_y_nombre_al_archivo_a_encriptar' -out 'ruta_y_nombre_al_archivo_encriptado' -pass pass:esta_seria_la_clave
Descifrar
openssl aes-256-cbc -d -a -in 'ruta_y_nombre_al_archivo_encriptado' -out 'ruta_y_nombre_al_archivo_desencriptado'
Así que bueno, aprendiendo de buenas prácticas y nuevas herramientas.
Saludos, Gorka
PD - la imagen es de un tipo de cifrado conocido como Caesar Cipher
PD2 - buscando imágenes de cipher disk para este post como que me parace que el zodiaco, calendario azteca y las monedas se parecen mucho a este tipo de discos - paranoia lo mío?
He estado jugando mucho ultimamente con nuevas tecnologías: desde comunicación cliente-cliente con webrtc, pasando por mundos virtuales en web con webvr y webgl hasta brain control computing. COn esto me he divertido mucho también pensando en qué cosas nuevas se pueden intentar y cómo llevarlas a cabo. Sigo creyendo que con las tecnologías que se están/estamos desarrollando cada vez se “blurrean” más los límites de lo físico y lo digital/virtual.
Uno de mis principales motivadores tiene que ver con conseguir que el pensamiento de “luz encendida en el cuarto”, genere que la luz que estaba apagada se encienda.
¿Cómo se puede lograr esto?
Hay pasos a seguir y para algunos no contamos (aún) con las herramientas necesarias para construirlos, pero más o menos así:
1.- Yo pienso luz encendida en el cuarto 2.- Un dispositivo (hardware) recibe los impulsos nerviosos que generaron tal pensamiento. 3.- Un software entrenado aisla la intención entre el posible ruido entre toda la información capturada. 4.- El software envía una petición http al sistema que es capaz de prender la luz (el de la casa, del cuarto, de la bombilla, da lo mismo) 5.- Luz encendida
Y de esa manera podremos tener al alcance de un pensamiento algo que años atrás era motivo de risa.
¿Cómo se verá el futuro?
Me gustaría hacer otro post acerca de mis predicciones, aquí en realidad les cuento lo que yo he publicado ultimamente:
Un juego sencillo de tetris para dos personas. La idea es que el juego se ve cuando se abre una página web, cada una de las personas se conecta al juego con sus teléfonos y a jugar! Hoy en día gana el que sobrevive, pero con poco trabajo se pueden integrar nociones de tiempo y puntos para hacer diferentes versiones. Lo innovador? La idea que se juegue usando el celular (además que no se usan botones sino “swipe gestures”).
Una escena virtual 3D oscura. ¿Qué tan oscura? No se ve nada - así de oscura. Y de repente una linterna, y la luz de la linterna es la que deja ver los objetos y el espacio en sí. Al salir del juego (se necesita un headset de VR - que puede ser un cardboard) el “efecto wow” viene al darse cuenta que otro celular se estaba usando para mover la linterna. Lo innovador? Ligar elementos del mundo físico al mundo virtual. Llevando esto más allá tiene que ver más con realidad aumentada y puedo soñar con un VR donde se puede interactuar con cualquier objeto del mundo físico y los objetos del mundo físico generan “procesos” en el mundo virtual.
Un juego de mesa de futbol - multijugador - en tiempo real - por turnos. La experiencia sería vivir un juego de mesa desde adentro del juego de mesa y, el tablero convertido en estadio. Con audio posicional, con dinámicas de segunda pantalla y con la opción que no sólo los jugadores pueden jugar, sino que también se pueda entrar a “ver” el juego y participar del mismo con dinámicas de 2nd screen. Lo innovador? eSports + segunda pantalla (más mi idea que las interacciones pueden usar movimientos de cabeza “tilting” para interactuar).
Los proyectos son un “work in progress” que ya iré puliendo. Todos los proyectos están en github (https://github.com/AquiGorka). Me encantaría escuchar lo que piensan y si se quieren sumar de alguna manera.