domingo, 24 de enero de 2021

¿Cómo instalo Signal en Ubuntu?

¡Trabajadores!

Nuestro Movimiento vibra ante los sones de una marcha que - además de alegre  - realiza una exposición ideológica clara y meridiana. Su métrica nos ofrece la noción en la que todos unidos triunfaremos dando un grito de corazón por quien supo  combatir al Capital.

Whatsapp es sin lugar a dudas una plataforma cuyo condicionamiento técnico y legal le hacen digna de ser combatida. Se trata de un comunicador mendaz, centralizado alrededor de un Amo - pues no podremos decirle servidor - de carácter privativo. Sus esclavos hacen uso de dispositivos munidos de clientes privativos también. Esta técnica de servidumbre y dependencia a un proveedor específico, se utiliza para descapitalizar al débil en pos del fuerte. Su efecto real es irrespetar las libertades del Usuario (quien pasa a ser usado) y de esta manera crear una dependencia comercial del proveedor.

Nuestro Movimiento es capaz de oponer golpe por golpe a estas inconfesables afrentas. Por ello normalmente os recomendaré el uso de una aplicación libre descentralizada con encriptación punto a punto como GNU Jami.

Sin embargo, para el caso que se nos haga una necesidad el uso de los servicios centralizados (sea ésta cual sea) más vale hacerlo bajo los preceptos de la libertad del software. Disponer del código fuente para modificarlo es una de estas libertades, y en ella podremos hacernos fuertes en nuestros dispositivos con la plataforma de comunicación encriptada Signal.

La plataforma Signal dispone de clientes libres que emplean un servidor centralizado hecho con software libre. Este clientelismo libre están disponibles tanto para dispositivos móviles, como para instrumentos de cómputo de escritorio, en variadas plataformas.su servicio.

Si deseamos, podremos instalar Signal en nuestro Smartphone, pero también contaremos con una aplicación de escritorio oficial para Linux, el Signal-Desktop.

Para instalarlo en nuestro sistema GNU con Linux, habremos de utilizar la terminal. Para ello abrimos una con Ctrl+Alt+t e ingresamos el siguiente comando de organización:

wget -O- https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -

Es normal que nuestro sistema se detenga un par de segundos para solicitar nuestra contraseña de Conductor. Cuando la proporcionemos, nos indicará OK. A continuación ingresamos los siguientes comandos para agregar el repositorio de Signal a la lista de repositorios:

echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

Finalmente, actualizamos el contanido de repositorios e instalamos Signal para el escritorio de Linux con:

sudo apt update
sudo apt install signal-desktop

Ahora podremos iniciar la aplicación nativa desde Aplicaciones / Internet / Signal.

Como es usual en este tipo de programas asociados a servicios móviles, la primera vez que lo utilicemos se nos presentará un código QR que nos permitirá asociar la cuenta de un dispositivo móvil. Para ello podremos utilizar la aplicación para Android o iO$, sacándole una foto al código QR de la pantalla.

Una vez que analicemos el código QR podremos establecer nosotros mismos el nombre del dispositivos, incluso ofuscándolo.

Conforme lo nombremos, podremos sincronizar contactos (si es que ya teníamos una cuenta Signal).

A diferencia de invasivos servicios como Whatsapp, Signal puede eliminar nuestra presencia telemática con solo ir a las preferencias y presionar Clear Data. También podremos escoger autorizar o desautorizar el uso del micrófono y de la cámara web (los cuales normalmente aparecen desactivados).


Una vez iniciado el cliente, podremos usarla para chatear, enviar mensajes de audio con cifrado punto a punto, realizar videollamadas, etcétera.

El cliente dispone de todas las funciones regulares, incluyendo chat grupales con emojis, enviar audio, envío de todo tipo de ficheros incluyendo multimedias, así como establecer videollamadas, todo esto encriptado.

Presionando F11 podremos activar Pantalla Completa.

¡Sólo de esta forma volverá a vibrar nuestro smartphone con los sones del Software Libre!

viernes, 8 de enero de 2021

¿Cómo uso un túnel SSH a través de la red anónima Tor en Ubuntu?

 Durante la histórica inauguración del Viaducto Presidente Perón de Sarandí, Juan Perón explica ante el Gobernador de la Provincia de Buenos Aires Carlos Aloé y el intendente de Avellaneda José Luis García, cómo crear un túnel Secure Shell a través de la red Tor.

¡Señor Cobernador!

¡Señor Intendente!

¡Trabajadores!

Esta obra magnífica de ingeniería, monumental en su factura y insuperable en su construcción, comenzó a gestarse en el principio de nuestro gobierno bajo auspicio de los muchachos de Vialidad de la Provincia. Debía responder al abhelado objetivo de solucionar y ordenar el tránsito, en áreas de la ciudad donde se veían atrasadas por la circulación de múltiples convoyes, entre ellos el ferrocarril lechero.

El trabajo que han emprendido ha consistido en elevar el nivel de vías y dejar las calles libres al tránsito vehicular, gracias a una inversión aproximada de 30 millones de pesos. ¡Cuánto han hecho! Me regocijo al observar esta portentosa obra, y observar en ella el rostro de todos los trabajadores Argentinos que han colmado de dicha mi corazón.

Un viaducto como este permite ahorrar tiempo, pero también hacer un cruce como este más seguro para todos. Permitirá ahorrar el tiempo que llevaba esperar al tren, que lo podremos utilizar dicha espera en nuestro provecho, transformándola ahora en un tiempo libre y feliz.

Sin embargo, un viaducto o túnel, como obra de infraestructura, puede servir también como clara inspiración para el desarrollo seguro y anónimo de todas nuestras necesidades de cómputo.

Vean señores, por diseño, el Shell Seguro (SSH) es una forma inherentemente bien pensada para obtener acceso con protección cifrada a máquinas remotas. Sin embargo, puede suceder que nos sea necesario una implementación aún más segura del mismo.

Normalmente, esto implica abrir el puerto 22 del router o configurar un reenvío de puertos. También se puede utilizar abrir todos los puertos del router, o utilizar DMZ.

En entornos de conexión hostiles como los de hoy, siempre nos será útil hacerlo más seguro, y poder contar con manera de sortear ciertos obstáculos telemáticos que nos podrían aparecer en la red.

Emplear un túnel a través de la red oculta Tor puede suplir estos inconvenientes.

La red Tor emplea un concepto de enrutamiento de capas de cebola, de manera de utilizar las redes públicas con el mayor anonimato posible. La idea es dirigir el tráfico telemático a través de una miríada de servidores, y encriptar cada estación en el camino. Por intermedio de estas postas seguras y anónimas, podremos agregar un nivel de anonimato mayor al normal, e incluso ocultar nuestros servicios de celosos actores intermediarios. 

Indudablemente que el Justicialismo ha de servir las necesidades de los Pueblos Libres. Por lo tanto, os enseñaré cómo realizar conexiones SSH a través de Tor. El proceso no esa terriblemente dificultoso si utilizamos el puerto tradicional de SSH, que es el puerto 22 (aunque podríamos modificarlo eventualmente).

En primer lugar, requeriremos instalar Tor. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de Organización:

sudo apt-get install tor -y

Tras ingresar a ciegas nuestra contraseña de usuario, el sistema instalará la paquetería necesaria.

Acto seguido, agregaremos un par de opciones al fichero de configuración del configuración de Tor. Para ello ingresamos:

sudo nano /etc/tor/torrc

Se abrirá un fichero de configuración que tendrá ya contenido. Al final de dicho archivo ingresamos estas líneas:

## Líneas peronistas para usar SSH a través
## de un túnel a la red oculta Tor
HiddenServiceDir /var/lib/tor/other_hidden_service
HiddenServicePort 22

Procedemos a guardar el fichero de configuración con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

También nos aseguramos de otorgarle los permisos necesarios a nuestra configuración de Secure Shell, mediante el comando:

chmod g-rw ~/.ssh/config

Ahora podremos reiniciar el servicio de Tor para hacer uso del servicio de Shell seguro SSH a través de la red oculta. Esto lo haremos mediante el siguiente Comando de Organización:

sudo systemctl restart tor

Al reiniciar el servicio Tor, se generarán toda una serie necesaria de ficheros de trabajo que se localizarán en el directorio /var/lib/tor/other_hidden_service. En dicho directorio estará el nombre de huesped que desea utilizar para conectarse al servidor desde el cliente remoto. Para conocer cuál es dicho nombre de huesped (hostname), podemos utilizar este comando:

sudo cat /var/lib/tor/other_hidden_service/hostname

Podría obtener un resultado en cadena de caracteres, terminada en .onion. Por ejemplo:

vivaperoncarajovivaperoncarajovivaperoncarajovivaperonca.onion

Cómo conectarse al server SSH Tor

Una vez que tenemos este hostname, ahora abrir una terminal o utilizar un equipo distinto (donde también hemos instalado Tor). Para conectarse con el servidor, usaremos el comando torify para torificar al hostname provisto por el comando anterior. Para hacer la conección, utilizará el comando:

torify ssh usuario@hostname

Donde usuario es un usuario remoto y hostname es el nombre de huésped provisto por la red oculta Tor.

Por ejemplo:


torify ssh usuario@vivaperoncarajovivap....onion

Se nos solicitará nuestra contraseña del usuario remoto (o llave de paso SSH), y le una vez conformado dicho requerimiento, tendremos permitido ingresar al servidor. La ventaja es que el tráfico estará ruteado a través de la red anónima Tor.

El inconveniente de usar el puente Tor de esta forma es que obtendrá velocidades de transmisión menores que si estableciera una conexión SSH directa. Este sacrificio en segundos de valdrán la pena si consideramos el anonimato en la red y tener que habilitar aperturas externas del router intermedios.

jueves, 31 de diciembre de 2020

¿Cómo creo trabajos y los administro en la terminal de Linux?

Trabajadores!

Como Conductor del Movimiento Nacional Justicialista, he dedicado este año que termina a atresar todas nuestras Organizaciones. En ello he estado acompañado por el más fiel de los corazones: el del Pueblo Argentino.

Hemos acuñado un lema que remoza un viejo cuño, y nos orienta en la labor que hemos de realizar para Grandeza de la Nación. Este lema ha sido: "Gobernar es Crear Trabajo". 

Responde a los inalienables Derechos que han alcanzan al hombre que trabaja. Hemos creado ochocientos mil puestos de trabajo bajo la esfera de dignificación que nuestro Pueblo clama y merece. Los trabajadores argentinos son la finalidad de todos mis desvelos, pero son también la causa objetiva de mi propia felicidad.

Un sistema de cómputo no dpuede sustraerse de esta realidad cardinal. Podemos decir señores, que para conducir un sistema similar a UNIX, debemos crear trabajo.

Esto es así pues GNU con Linux responde como sistema operativo multiusuario, pero también multitarea. Puede encargarse de realizar múltiples acciones, destinando a ello la potencia de su Unidad Central de Proceso, compartida entre todos sus obreros. Toda acción de cómputo que se lleve a cabo en un sistema multiusuario debe realizarse de una sola manera: ¡en Comunidad y con Organización!

Para conducir esta organización del trabajo, se hace imprescindible contar en nuestro sistema con un comando específico que nos ayuda a planificar, llamado jobs.

Conviene conocer en detalle sus particularidades ya que - como todo en la vida - el apelativo de la acción depende de quién la realiza. Nuestro sistema operativo cuenta con un núcleo Conductor, que es un Coronel y al que ustedes llamarán Kernel. Este llevará a cabo los llamados Procesos, con grupos de Tareas. [tose]. En tanto, nuestros obreros descamisados, que operan como usuarios de cómputo, contarán con los anhelados Trabajos o Jobs.

Estos trabajos pueden consistir en tres variantes: tanto la ejecución de un comando único, o de varios comandos encadenados por medio de caños o pipes, o bien la ejecución de un programa interactivo.

Pues bien señores, en particular en una terminal de Linux, bien podremos desactivar o activar todo trabajo o programa activo, mediante el uso de la combinación de teclas Ctrl+z. Al escoger este proceder, se detendrá la ejecución del trabajo, y se lo enviará a un segundo plano ("background" o "bg"), reservándole memoria al mismo, toda vez que se nos presenta nuevamente el intérprete de comandos.

Por ejemplo, si estamos usando el editor GNU Nano, y presionamos Ctrl+z, el trabajo de GNU Nano se detendrá y el sistema nos devolverá al intérprete de comandos con un mensaje similar al siguiente:

Use «fg» para volver a nano.
[1]+  Detenido            nano

Para recuperar en nuestra terminal el trabajo detenido que se encuentra en el segundo plano, debemos traerlo al frente ("fg" o "foreground"). Esto se hace con el comando fg. Se presentará el trabajo anterior en la terminal tal como lo habíamos dejado.

Si ejecutamos varios programas interactivos y los abandonamos, podríamos encontrarnos con múltiples trabajos detenidos en el segundo plano. En dicho caso, cada uno de ellos recibirá un identificador en la llamada "cola de trabajos".

La cola de trabajos es precisamente eso: una lista o tabla donde podremos observar y gestionar el número de orden de los trabajos en segundo plano. Podremos verla mediante el comando:

jobs

...a lo cual el sistema nos debería devolver la cola de trabajos que tenemos detenidos en segundo plano en nuestro sistema:

[1]   Detenido                nano
[2]-  Detenido                top

Se presentará en esta cola de trabajos el status de los mismos, y entre corchetes, en orden de detención. Si fuese necesario tener un poco más de detalles, podremos recurrir a la forma más larga y explícita de la cola de trabajos usando  jobs -l, que nos proporcionará también el identificador de trabajo y el motivo de la detención.

[1]5950 Detenido (por una señal) nano
[2]5951 Detenido (por una señal) top

Si queremos traer un trabajo a primer plano y contamos con múltiples trabajos detenidos en el segundo plano, se hará necesario especificar cuál es el que queremos traer al primer plano mediante el número de orden de detención. Por ejemplo, si quisiéramos traer top a primer plano usaríamos:

fg %2

Para eliminar los programas, se suele usar la combinación Ctrl+c. Esto detiene el programa y lo elimina de la cola de trabajos.

Indudablemente que este es un momento importante distinguir un hecho importante. Si en lugar de emplear fg para traer un trabajo al primer plano, abrimos nuevamente el mismo programa por segunda vez (en este caso podría ser Nano), no recuperaremos el primero que ya teníamos en memoria, sino que estaremos cargando una nueva instancia "desde cero" e independiente del mismo, la cual se presentará en la terminal.

El trabajador debe tener derecho a la mejora de sus aptitudes profesionales. Mejorar su conocimiento lleva un tiempo, pero le permitirá lograr mejores resultados en menor tiempo a futuro. Esto es determinante pues todo tiempo ahorrado, es tiempo ganado. La eficiencia es un factor que no se puede soslayar en ningún momento. Es útil saber, por lo tanto, que podríamos directamente colocar un trabajo en la cola de trabajos a la hora de ejecutar su comando. Para ello simplemente le agregamos el sufijo &

Por ejemplo:

xeyes &

xeyes se activará y comenzará su acción típica, mostrar un par de ojos que siguen el cursor del escritorio gráfico, independientemente de la terminal del intérprete de comandos. Si en esta situación ingresamos el comando jobs podríamos recibir:

[1]    Detenido    nano
[2]-   Detenido    mocp
[3]+   Ejecutando  xeyes &


Como vemos, el sufijo & permite hacer que el programa continúe en ejecución. Esto es diferente a la detención y pase a segundo plano con Ctrl+z.

Si usamos el comando fg %3 para activar en la terminal el programa xeyes, simplemente se nos informará con la terminal detenida. Si usamos ahora Ctrl+z, enviará a xeyes al segundo plano y detendrá su ejecución (podremos ver que los ojos están permanecen fijos en la última posición antes de detenerse la ejecución del programa). Y en la cola de trabajos, veremos que xeyes está "Detenido".

Si quisiéramos eliminar de memoria y de la cola de trabajos uno de nuestros trabajos (ya sea que esté detenido o en ejecución), podremos hacerlo mediante el comando kill % seguido del número de orden de trabajo.En este ejemplo, podríamos querer cerrar xeyes con:

kill %3

En otros casos el ejemplo contrario podría ser lo procedente. ¿Que sucede si ejecutamos en segundo plano xeyes (con xeyes &), y lo queremos continuar utilizándolo, pero quitándolo de la cola de trabajos?.

Para ello se utiliza el comando disown. Este desacopla el último programa en ejecución de la terminal. Si tenemos varios programas en la cola de trabajos, los indicamos con:

disown  %número de orden

Otros modificadores nos ayudarán en condiciones complejas. Por ejemplo, si usamos disown -a desacoplaremos todos los trabajos, en tanto que si usamos disown -r desacoplaremos todos los trabajos en ejecución.

Debemos tener en cuenta que si abandonamos nuestra terminal con trabajos en ejecución, los mismos se detendrán y se perderán. En ciertos casos, sobre todo en el caso de abandonar terminales remotas, debemos enviarle una señal SIGHUP ("colgar"), con el prefijo modificador -h.

Para ello usamos

disown -h

...para desacoplar todos los trabajos de la cola, o bien especificamos alguno con:

disown -h %número de orden

Esto provocará que al abandonar la terminal remota con el comando exit no se interrumpa la ejecución de los comandos remotos que dejamos en ella.

Tengamos también en cuenta que en lugar de disown (dependiente del intérprete de comandos Bash que dota  Ubuntu, bien podríamos utilizar el comando nohup para especificar que la señal de sistema SIGHUP ("colgar") sea ignorada por cualquier comando de Linux o UNIX por cualquier motivo (con independencia del  intérprete de comandos utilizado). Esto puede ser útil para otros entornos distintos a GNU con Linux o Ubuntu.

En consecuencia, trabajadores, sabemos que ciertos paradigmas informáticos podrían intentar confluirse en la noción de formar un esclavo de consumo.

Quien quiera liberarse sabe bien lo que tiene que hacer: combatir al capital. Los sistemas UNIX y similares a él - aunados a doctrinas de software justo, libre, y soberano - permiten operar cómputo de forma completa y comunitariamente organizada, sin depender de obsolescencias programadas o softwares "cortados a cuchillo".

lunes, 21 de diciembre de 2020

Internet para Todos a través de Prestación Básica Universal y Obligatoria

El Ente Nacional de Comunicaciones (ENACOM) aprobó por resolución la prestación básica universal y obligatoria para telefonía celular, telefonía fija, Internet y TV por cable y satelital.

Gracias a la nueva regulación, las compañías prestadoras de servicios de comunicación deberán brindar, a partir del 1 de enero de 2021 una llamada Prestación Básica Universal con tarifas reguladas. Los precios populares son muy accesibles (ver precios abajo).

Se establece así una suerte de tarifa social de Internet, celular, cable y teléfono, con un universo de hogares comprendidos.

 

Los servicios de prestacion obligatorios comprendidos por la reglamentación son tres, y están definidas para diferentes prestadoras licenciatarias:

Prestación básica de teléfono:-“Prestación Básica Universal Obligatoria” para el Servicio Básico Telefónico de línea fija.

Prestación básica de celular: -“Prestación Básica Universal Obligatoria” (PBU-SCM) para los Servicios de Comunicaciones Móviles (SCM).

Prestación básica Internet:-“Prestación Básica Universal Obligatoria” (PBU-I) para el Servicio de Valor Agregado de Acceso a Internet (SVA-INT)

Prestación básica TV Por cable:-“Prestación Básica Universal Obligatoria” (PBU-TP) para los servicios de televisión paga por suscripción mediante vínculo físico o radioeléctrico o satelital por domicilio del beneficiario y grupo familiar.

Podrán optar por adherirse a las “Prestaciones Básicas Universales y Obligatorias” (PBU) aprobadas por la Resolución, los siguientes usuarios:


  • Beneficiarios y beneficiarias de la Asignación Universal por Hijo (AUH) y la Asignación por Embarazo, como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años, y miembros de su grupo familiar (padre/madre, cónyuge/conviviente).
  • Beneficiarios y beneficiarias de Pensiones no Contributivas que perciban ingresos mensuales brutos no superiores a DOS (2) Salarios Mínimos Vitales y Móviles como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Usuarios inscriptos y usuarias inscriptas en el Régimen de Monotributo Social como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Jubilados y jubiladas; pensionadas y pensionados; y trabajadores y trabajadoras en relación de dependencia que perciban una remuneración bruta menor o igual a DOS (2) Salarios Mínimos Vitales y Móviles como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Trabajadores y trabajadoras monotributistas inscriptos e inscriptas en una categoría cuyo ingreso anual mensualizado no supere DOS (2) Salarios Mínimos Vitales y Móviles como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Usuarios y usuarias que perciban seguro de desempleo como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Usuarios y usuarias incorporados e incorporadas en el Régimen Especial de Seguridad Social para Empleados de Casas Particulares (Ley N° 26.844) como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años. (servicio doméstico)
  • Usuarios y usuarias que perciban una beca del programa Progresar.
  • Personas que se encuentren desocupadas o se desempeñen en la economía informal, como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Beneficiarias y beneficiarios de programas sociales, como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Clubes de Barrio y de Pueblo que se encuentren registrados conforme lo dispuesto por la Ley N° 27.098.
  • Asociaciones de Bomberos Voluntarios definidas por la Ley N° 25.054 como entes de primer grado y que se encuentren registrados en los términos de dicha Ley.
  • Entidades de Bien Público definidas por la Ley N° 27.218 como: asociaciones civiles, simples asociaciones y fundaciones que no persiguen fines de lucro en forma directa o indirecta y las organizaciones comunitarias sin fines de lucro con reconocimiento municipal que llevan adelante programas de promoción y protección de derechos o desarrollan actividades de ayuda social directa sin cobrar a los destinatarios por los servicios que prestan, debiendo estar inscriptas ante el Centro Nacional de Organizaciones de la Comunidad (CENOC).

Cómo acceder a la prestación básica universal y tarifas bajas de Internet, cable, celular y teléfono

La información sobre el precio para las “Prestaciones Básicas Universales y Obligatorias” deberán ser comunicados a los usuarios y usuarias por las Licenciatarias obligadas a través de las facturas, las páginas web institucionales y todas las redes sociales y canales mediante las cuales se comuniquen con sus clientes y/o publiciten sus servicios.

Los Prestadores obligados deberán implementar un sistema ágil y sencillo a través de todos sus canales de atención para que los usuarios y usuarias puedan optar por obtener las “Prestaciones Básicas Universal y Obligatoria” (PBU).

Los Prestadores Obligados deberán realizar y/o efectuar las instalaciones y/o habilitaciones para los servicios requeridos por los beneficiarios y beneficiarias de la presente Resolución, dentro de su área de cobertura, en un plazo que no podrá exceder el Tiempo Comprometido de Instalación (TCI) máximo dispuesto por el Reglamento de Calidad de los Servicios de TIC (Resolución N° 580/2018).

 

Siempre deberán instalar el servicio básico de Internet, cable y celular

En caso de que el prestador obligado entendiera que el usuario o usuaria solicitante no se encuentra alcanzado por la “Prestación Básica Universal Obligatoria” deberá igualmente proceder a instalar y/o habilitar el servicio. Podrá informar aquellos usuarios que no se encuentran dentro del universo de beneficiarios expresando los motivos  al ENACOM que resolverá la cuestión en un plazo que no podrá exceder de 30 días corridos.

Transcurrido ese plazo sin que este ENACOM emita una Resolución en tal sentido se considerará que el usuario o usuaria se encuentra alcanzado por la “Prestación Básica Universal Obligatoria” y el licenciatario o licenciataria deberá continuar con la prestación del servicio.

En el supuesto de que la Dirección actuante hiciere lugar al reclamo, el licenciatario o licenciataria podrá dar de baja inmediatamente al servicio y emitir el correspondiente estado de deuda a cargo del solicitante no alcanzado por la “Prestación Básica Universal Obligatoria”.

Cuando los Prestadores obligados entendieran que, por cuestiones técnicas u operativas, no pudieran cumplir con los plazos estipulados deberán notificar fehacientemente de dicha circunstancia al peticionante y al ENACOM dentro de las 72 horas de recibida la solicitud, indicando las causales del impedimento, la estrategia de contingencia y el plazo en que estarán en condiciones de proceder a la instalación y/o habilitación del servicio, el cual en ningún caso podrá exceder de los plazos dispuestos en la normativa.

Los Prestadores obligados podrán efectuar descuentos y/o promociones y/o mejores condiciones por debajo de los precios que componen las prestaciones que integran los Anexos. Los usuarios no tendrán obligación de permanencia, de modo de poder acceder a lo que sea más beneficioso.

 

Cuadro tarifario

Prestación Básica Universal Obligatoria – tarifa de telefonía celular – servicio de comunicaciones móviles (PBU-SCM)
Telefonía (PBU-SCM-T)

SCM = Prestación Básica Universal Telefonía. (PBU-SCM-T) Prepago

$150 final, incluye impuestos
Llamadas:
Minutos On Net 500
Minutos Off Net 50
SMS 500

URLs y 0800 Free
gob.ar | gov.ar| edu.ar |educ.ar |uba.ar

Hasta 30 sitios
diferentes

Plataforma de Mensajería instantánea (similar a Whatsapp) SOLO TEXTO los 30 días del mes.

 

Paquetes de DATOS de telefonía celular– 2 Opciones:

A) SCM Prestación básica Universal. Datos. (PBU-SCM-D) Prepago

$ 200 (Final) – Datos: 1 GB

B) SCM Prestación básica Universal celular Datos. (PBU-SCM-D) Prepago x DÍA – Internet por día (50 mb por día) $18 (Final)

Para adquirir cualquiera de los dos paquetes de DATOS referidos, es condición haber adherido/contratado la Prestación Básica Universal. Telefonía – (PBU-SCM-T). Incluyen impuestos.

 

Prestación Básica Universal Obligatoria. PBU-SBT – SBT. (Tarifa del Servicio Básico Telefónico)

Prestación Básica Universal. Telefonía Fija. (PBU-SBT) $380 Final, incluye impuestos
300 Minutos de llamadas locales y de larga distancia nacional, a destinos fijos de la REPÚBLICA ARGENTINA

Llamadas a números 0800 y números cortos de emergencia Libres – Llamadas entrantes Sin Límite

 

Prestación básica universal obligatoria tarifa de Internet SERVICIO DE ACCESO A INTERNET

PBU-I DESTINADA A HOGARES (Residencial) (no incluye internet satelital)
Contenido de la PBUI

1.- Prestadores con más de 50.000 accesos totales.

AMBA : 10 Mbps a $700
Resto del país: 5 Mbps $700

2. Prestadores que posean entre 2.000 y 50.000 accesos totales.

5 Mbps por $700
O el beneficiario puede optar por acceder al Plan de Menor velocidad ofrecido por la compañía con un descuento del 30% del valor.

3. Prestadores con menos de 2.000 accesos totales.

2 Mbps por $600

El ENACOM facilitará el acceso a ANR para cambio tecnológico con la finalidad de que el operador cuente con la infraestructura necesaria para brindar los 5 Mbps.

El ENACOM facilitará una instancia de diálogo con aquellos operadores con menos de 2.000 accesos que no puedan ofrecer los 2 Mbps, buscando soluciones puntuales a los casos concretos.

 

Prestación básica universal obligatoria tarifa de cable y TV satelital

Categorías PRESTACIÓN BÁSICA UNIVERSAL OBLIGATORIA (PBU-TP). Los licenciatarios de las Tecnologías de la Información y las Comunicaciones (TIC) con registro de Servicio de Radiodifusión por suscripción mediante vínculo físico o radioeléctrico y los licenciatarios de Televisión por suscripción satelital deberán garantizar como Prestación Básica Universal Obligatoria las señales que comprendan el plan de menor valor ofertado al 31 de julio de 2020, o un plan con similares prestaciones y características.

Categorías Cantidad de Abonados Porcentaje valor PBU-TP

-Categoría I Más de 500.000 30% de descuento sobre el plan de menor valor ofertado al 31
de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría II Entre 100.000 y 500.000 25% de descuento sobre el plan de menor valor ofertado al 31
de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría III Entre 30.000 y 100.000 20% de descuento sobre el plan de menor valor ofertado al 31
de julio de 2020 y/o aumentos posteriores que se autorizaren.

 

Categorías Cantidad de Abonados Porcentaje valor PBU-TP

Para los operadores de cable (SRSVFR) y los licenciatarios de comunicación audiovisual de Televisión por Suscripción por vínculo satelital (DTH) hay un descuento. En caso de que tengan una posición dominante en un área de cobertura (más del 50% de abonados) hay pautas y se regula ese descuento.

-Categoría I Más de 500.000 40% de descuento sobre el plan de menor valor ofertado al 31 de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría II Entre 100.000 y 500.000 35% de descuento sobre el plan de menor valor ofertado al 31 de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría III Entre 30.000 y 100.000 20% de descuento sobre el plan de menor valor ofertado al 31 de julio de 2020 y/o aumentos posteriores que se autorizaren.

Actualización tarifaria

Los Prestadores obligados podrán solicitar la actualización de los precios de las prestaciones aprobados por la Resolución de manera cuatrimestral, tomando como referencia las variables de ajuste aplicadas a la Asignación Universal por Hijo para Protección Social (AUH), siempre y cuando hayan cumplido con el registro y presentación de la información obligada en esta norma, según corresponda.

La actualización solicitada será evaluada junto con otros parámetros que este ENACOM considere en el marco de sus competencias de intervención fundada en razones de interés público. Los prestadores deberán informar precios y beneficiarios.

sábado, 19 de diciembre de 2020

Se anuncia el Programa Puntos Digitales

Se anunció la firma de un Acta Compromiso para la implementación a nivel municipal de los llamados Puntos Digitales. Estos son lugares públicos de acceso gratuito a internet por medio de tecnología Wifi, destinados a disminuir la brecha digital.

El Programa Punto Digital permite implementar espacios públicos y gratuitos que se sumarán a los más de 580 que funcionan actualmente en los 24 distritos del territorio nacional, constituyendo una red que brinda conectividad, equipamiento, capacitaciones, asistencia en trámites y propuesta culturales para personas de todas las edades.

La propuesta hace uso efectivo de la Red Federal de Fibra Óptica, que totalizará unos 38 kilómetros de territorio nacional en uno de los backbones de enorme ancho de banda de mayor extensión mundial.

Parte de la política que lleva adelante el Gobierno implica avanzar con la articulación de los municipios y dentro de ese programa se encuentran los puntos digitales, que son ámbitos de conectividad que apuntan a reducir la brecha digital.

Durante 2020 más de dos millones de personas participaron de actividades virtuales o recibieron asistencia presencial en algunos de estos espacios y se inauguraron 10 nuevos Puntos Digitales en diferentes rincones del país.

El contexto de Pandemia acrecienta la desigualdad digital. Es deber del Estado reforzar herramientas reconstructivas que impliquen la reducción de tal desigualdad a fin de lograr que todos los habitantes tengan las mismas posibilidades.

Se pueden encontrar los puntos digitales aquí.

 

jueves, 10 de diciembre de 2020

¿Cómo instalo el juego Cube2 Sauerbraten en Ubuntu?

Vean señores,

Donde hay una necesidad nace un derecho. Esto lo hemos proclamado muchas veces y lo hemos cumplido en la misma cantidad ya que mejor que decir, es hacer.

Una Nación sana debe saber obrar para proveerse a sí misma las infraestructuras que permitan colmar las necesidades de su Pueblo. Es indudable que la organización superior que debe responder a esto es el Estado de la Nación, quien debe velar por la adecuada implementación de políticas que den a todos lo Justo.

Pues bien señores, esta infraestructura no sale de un repollo. Responde a un concienzudo planeamiento profesional. Esta planificación no se basa nunca en las necesidades actuales, sino en la proyección futura de tal necesidad. 

Quien haya cometido la torpeza de planificar infraestructura para lo que hoy se requiere, sólo resolverá a destiempo el problema del ayer. Ni siquiera resolverá los problemas actuales y sólo agravará las problemáticas en el futuro.

Por esta razón nuestro Movimiento ha sido propenso a instituir sus propios institutos de planificación, y ha preferido la realización profesional de Planes Orgánicos de ejecución temporal. Esta es la forma de planificar, ya que cuando las problemáticas son conocidas, las acciones requeridas para darle solución pueden planificarse en forma de encadenamiento lógico, y hacerse con la mínima inversión de tiempo y medios.

En un sistema de cómputo podremos encontrarnos con filosofías de acción similares. La filosófica UNIX plantea responder a las problemáticas complejas del cómputo a través de una una serie lḉgica y definida de pasos concretos de muy sencilla resolución. La sumatoria de estas soluciones son las que provocan la Gran Solución del Problema Mayor.

Hemos de concentrar esfuerzos in mente para que nuestro software libre también debe contar como frontispicio esta máxima universal del quehacer político. Cuando ello no se sigue en la idealización de un paquete de software, podremos encontrarnos conque ya no responde a las necesidades que de él se esperaban.

Todo software libre hace disponible su código para quien lo anhele, y tiene por condición la posibilidad de irse mejorando sobre la marcha. Pero trabajar de esta manera constituye sólo es una excrecencia del proceso natural que debe buscarse. Debemos contar también con una planificación fiable para su concreción. Si no lo hacemos, el factor temporal en el desarrollo se volverá "gomoso", y nunca sabremos bien en qué terminar.

No son pocos los proyectos de Software que han enfrentado esta problemática de desarrollo. En el caso de los proyectos privativos, no es inusual que la única solución viable para terminarlos sea liberar su código.

Cube 2: Sauerbraten es un ejemplo de esto. Se trata de un juego de disparos en primera persona multijugador y para jugador único (con enemigos de inteligencia artificial, los inefables bots). Es el sucesor del Cube.

Como el Cube original, el objetivo del proyecto es establecer un juego tipo Deathmatch divertido capaz de hacer uso de estrategias cooperativas. Además, debía poder permitir la sencilla edición de los mapas con un editor provisto.

El motor gráfico utilizado es abierto bajo licencia zlib, y enteramente original en código y diseño. Es un engine 3D del estilo de Quake, rápido y que hoy en día requiere poquísimos recursos, lo que lo habilita en jugarlo incluso en netbooks. En particular lo recuerdo por el AssaultCube.

Video del juego:

Sin embargo, en su iteración original sufrió retrasos fundados básicamente por simples decisiones de diseño y lógica de la estructura lúdica. Quake hacía uso de imaginería de fantasía oscura y ligera ciencia ficción con planteos densos como propuesta para su universo temático dirigido al público masculino.

Con el poco correr del tiempo este planteo, tal vez algo inmaduro y tontorrón, terminó cayendo en desuso en el género, siendo reemplazado progresivamente por el género del tirador táctica militar, o bien planteos más aventurescos, finalmente cayendo incluso en fantasía para todas las edades y sexos.

Por tal motivo, el Cube original quedó desfasado, y su continuación, el Cube 2 con la modificación Sauerbraten representa un exponente de aquellas propuestas oscuras. Está liberado y podremos instalarlo en Ubuntu fácilmente.

Una de las características pensadas originalmente para el Cube era la utilización de un modelo cliente-servidor bajo el cual se minimizaran los efectos negativos del retraso o lag, en una era de comunicaciones lentas. Esto hace que el juego sea particularmente inmune a esta deficiencia comunicacional y pueda tornarse en ideal en ambientes donde otros juegos serían imposibles de usar o muy desventajosos.

La manera más sencilla consiste en instalarlo desde la paquetería oficial. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:

sudo apt update

sudo apt install sauerbraten

El sistema nos solicitará nuestra contraseña de Conductor. Una vez que la ingresemos "a ciegas" y presionemos Enter, se producirá su descarga. Para ejecutar el juego por primera vez, podremos ir a Aplicaciones / Juegos / Sauerbraten.

La primera vez que juguemos, se nos permitirá ingresar un alias para nuestro jugador.

El menú inicial es característico del los FPS. Contamos con gran variedad de estilo de juegos divididas en dos estructuras de juego principoles: la de Jugador único (con bots con inteligencia artificial regulable), o bien multijugador (tanto en red local LAN como en servidores de internet). Asimismo, podremos crear un servidor desatendido para las jugadas LAN y eventualmente de internet.

El diseño del Sauerbraten implica ciertas decisiones estéticas de diseño en boga por entonces. Entre ellas la temática oscura inspirada en Quake y otros juegos del género FPS. Esto implica gráficas de bajos polígonos, modelos de armas simplificadas, y escenarios 3D intrincados con varios niveles.

Nos encontraremos con 7 armas de estilo fantasía activables con los números del teclado o la rueda de scroll del mouse, que van desde los puños y motosierra, pasando por pistolas, escopetas, lanza-granadas, lanzacohetes.

En el caso de las partidas multijugador, podremos recomendarse especialmente para este tipo de entornos de baja velocidad. Entre las modalidades encontraremos también deathmatchs, e implementaciones de battle royale (tipo fortnite). El diseño de novísimos niveles con estética colorida implica un nuevo acercamiento a dicho estilo de juego, con la ventaja de requerir consumos y ancho de banda mucho más limitados.

Tal vez el apartado menos imaginativo sea el sonido, con efectos repetitivos y poco variados, a la vez que la música está compuesta por una insoportable banda sonora de death metal, que por suerte podemos apagar.

Para jugar en multijugador, debemos seguir la misma premisa que en otros juegos de este estilo. Vamos al menú Multiplayer y seleccionamos "update from master server". Esto actualizará la lista de servidores disponibles y las ordenará por latencia o "ping". Luego seleccionamos el Server Browner (Navegador de Servidores). 

En el podremos observar todos los disponibles, también su estilo de juego y la cantidad de jugadores conectados y la capacidad de la sala de juego. Elegimos uno (idealmente con menos de 200 de ping) y haciendo doble clic en el daremos inicio al juego.


 

Entre los modos de juego encontraremos también los típicos del género, entre los que tenemos deathmath de un tiro (y respawn), o con salud, capturar la bandera, o bien capturar las bases. Esta modalidad sigue una dinámica similar a la del viejo Battlefield 1942, capturando bases luego de un tiempo que servirán como nuevos puntos de respawn.

También podríamos instalar el servidor dedicado con:

sudo apt install sauerbraten-server

Si anhelamos descargar la última versión publicada del código fuente para jugar, podremos hacerlo. Esto es un poco más complejo que usar la versión preempaquetada, pero encontraremos versiones de battle royale similares a fortnite. Para jugarla debemos usar la terminal e instalar las librerías quereridas, por ejemplo:

sudo apt install libgl1 libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl-mixer1.2 libpng16-16 libjpeg-dev zlib

Acto seguido, descargamos la última versión del código fuente, podríamos hacerlo con. Para ello abrimos una terminal e ingresamos los siguientes Comandos de Organización:

cd ~/Descargas/ ;
wget https://sourceforge.net/projects/sauerbraten/files/sauerbraten/2020_11_29/sauerbraten_2020_11_30_linux.tar.bz2 ;


El código fuente pesa aproximadamente 1 GB. Una vez finalizada la descarga, descomprimimos el código fuente con:

tar xvjf sauerbraten_2020_11_29_linux.tar.bz2 ;

mv sauerbraten/ ~/.sauerbraten

cd ~/.sauerbraten/


Y lo ejecutamos con:

./sauerbraten_unix

Si quisiéramos hacer un ejecutable para el servidor dedicado:

nano ~/sauerbraten_server.sh

y le pegamos:

#!/bin/sh
SAUER_DATA=/usr/share/games/sauerbraten
SAUER_SERV_BIN=/usr/bin/sauerbraten_server
SAUER_SERV_OPTIONS="-q${HOME}/.sauerbraten"

cd ${SAUER_DATA}
exec ${SAUER_SERV_BIN} ${SAUER_SERV_OPTIONS} "$@"


Lo guardamos con Ctrl+o y salimos con Ctrl+x

Le damos permisos de ejecución con:

chmod +x sauerbraten_server.sh

Y cuando querramos iniciar el servidor dedicado, deberíamos ejecutar:

./sauerbraten_server.sh

jueves, 26 de noviembre de 2020

¿Cómo uso DCL en un sistema OpenVMS remoto?

En su fundamental Modelo Argentino para el Proyecto Nacional, Juan Perón expone el papel actual y futuro que el desarrollo tecnológico propende a la Argentina, en tanto explica cómo crear una cuenta de acceso remoto a un sistema OpenVMS y operar el intérprete de comandos DCL desde Ubuntu.

(...)

La tecnología es uno de los más fuertes factores de dependencia en la actualidad. Resulta importante enfatizar que este hecho se agudiza en el caso del sector industrial. 

Si nuestra industria es ya fuerte, en el Modelo la deseamos aún mucho más importante. Necesita, entonces, una tecnología que cimente su desarrollo, pero esta necesidad no debe instrumentar la acción de un poderoso factor de dependencia

La alternativa surge clara: tenemos que desarrollar en el país la tecnología que nutra permanentemente a nuestra industria. Estado y sector privado deben volcar todos sus esfuerzos en ese sentido, cada uno en la medida de sus posibilidades.

El gasto en investigación y desarrollo debe ser tan grande como jamás lo haya sido hasta ahora, pero tan bien programado como para soslayar cualquier posibilidad de despilfarro. Deben aprehenderse bien estos conceptos, pues son absolutamente esenciales: sin tecnología nacional no habrá una industria realmente argentina, y sin tal industria podrá existir crecimiento, pero nunca desarrollo.

La tarea que se propone no es fácil. Hay que remontar la herencia de un esquema ferozmente competitivo, en el que sólo primaban fines solitarios -o simplemente grupales- que dieron lugar a una batalla entre intereses, de la cual generalmente salieron mal parados los más débiles. El sector industrial privado es ahora convocado a colaborar, con su quehacer específico, bajo una perspectiva totalmente distinta. El Estado debe orientarlo en su acción, señalándole claramente cuál ha de ser su rol en los programas de desarrollo y haciéndolo participar activamente en la elaboración de la política económica. No deben quedar dudas de que, cuando hablo de sector privado industrial, me refiero tanto a empresarios como a trabajadores, nucleados unos y otros en sus organizaciones naturales.

Si, como ya afirmé, el mercado no constituirá la referencia fundamental en la determinación de las necesidades auténticas de la comunidad, el sistema de precios no será -en algunos sectores- el impulsor de las decisiones de inversión. El Estado tendrá, entonces, que suplir este posible déficit, ya sea mediante su acción directa como inversor o bien, indirectamente, a través de su política económica. Al Estado le cabe también la responsabilidad de relevar asiduamente el comportamiento del sector industrial en su conjunto, en una acción fiscalizadora, tanto de control como de apoyo.

Este desarrollo técnico-industrial es sobre el que se columpiará el progreso de la Nación. Para lograrlo bien podremos considerar programas pilotos ya creados de accionamiento directo.

Un sistema llave en mano y de libre acceso ocasionalmente puede convertirse en una fundamental herramienta de aprendizaje, que nos permitirá realizar todos los casos de estudio más pertinente sin tener que hacer un deployment activo. Las ciencias del cómputo son un claro ejemplo.

Desde mediados de los 70s la Digital Equipment Corporation (DEC) consolidó su línea de mainframes PDP-11. Estos podían utilizarse con una variedad creciente de sistemas operativos monousuario, pero también con algunos multiusuario y con capacidad de cómputo concurrente o compartido. Entre ellos destacaba el sistema operativo DEC RSX-11.

Ante la necesidad de crearle una interfaz que contemplara sus funcionalidades de manejo y que además fuese estructuralmente similar al FORTRAN tan en boga en los sistemas comerciales de la era, se terminó implementando el DCL, el Lenguaje de Comandos de Digital.

El DCL fue particularmente exitoso a principios de los 80s sobre el sistema operativo VMS, cuando se instalaba este en la arquitectura de cómputo DEC VAX y posteriormente la aquitectura DEC Alpha. El sistema operativo VMS tradicional derivó en una implementación a código abierto, el OpenVMS portado a ambas arquitecturas. Afortunamente, la última versión 9 de OpenVMS representa un cambio fundamental ya que abandona las obsoletas arquitecturas DEC para compatibilizarotras de despliegue moderno, notablemente la x86_64. Esto hace posible de operarse en equipos de escritorio modernos, aunque a costa de un código privativo.

Como máscara visible de RSX-11 podremos decir que DCL ha influido por transición sobre toda las ramas de sistemas operativos modernos desde de implementaciones del CP/M de Intergalactic Digital Research, y en el Q-DOS de Seattle Computer Products, luego masificado como el Microsoft DOS y filosóficamente transicionado en intérpretes actuales hasta el MS PowerShell. Incluso han existido versiones de intérprete llamada VCL cuya inspiración era el DCL, pero estaban orientados ya para el MS-DOS (reemplazaba a intérprete nativo COMMAND.COM), OS/S y Windows.

Como los sistemas VAX históricos y los Alpha pueden emularse bajo SIMH en GNU con Linux, es posible crear entornos de emulación para estas plataformas si contamos con licencias de uso hobbista para el mismo. Lamentablemente, si bien las mismas se distribuyeron a través de un programa especial de Hewlett-Packard, actualmente su entrega está descontinuada.

Es por ello que la manera más sencilla de operar en un sistema de estas características es darnos de alta en un sistema público que disponga del hardware antiguo correctamente licenciado. Una de estas instancias la proporciona DECUS.ORG, un grupo de usuarios hobbistas de equipamiento DEC, que cuenta con el apoyo institucional del actual poseedor de la propiedad intelectual del VMS, Hewlett-Packard. 

Decus.org pone a disposición del público general su infraestructura de cómputo DEC Alpha DS20 puesta en línea, y ofrece la creación de cuentas públicas de acceso remoto a intérprete de comandos.

Se trata de la versión Alpha DS20 de 500 Mhz. Este consiste en un rack con múltiples servidores montados.

Cada uno de estos servidores consta del sistema OpenVMS 8.4 el cual se puede utilizar para albergar sesiones de terminal remotas de usuarios hobbistas. El fin fundamental de este sistema de cómputo es albergar el sistema de ayuda básico para los antiguos clientes de la DEC, el cual fue adquirido por Compaq, y luego por Hewlett-Packard. De esta forma, el sistema continúa con vida bajo un cariz de ayuda sin fines de lucro bajo legislación norteamericana de "fair-use" (buen uso).

Para dar de alta una cuenta a título individual y no comercial, podremos usar nuestra terminal GNU con Linux mediante Secure Shell (SSH). Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos:

ssh REGISTRATION@eisner.decus.org

Cuando el sistema nos solicite si estamos seguros de querer conectarnos ingresamos YES ("si"). Al solicitarnos contraseña ("Password:") no ingresamos ninguna y simplemente presionamos ENTER. Se activará a continuación programa de registro en la máquina DEC Alpha, que constará de varias pantallas. En ellas se nos solicitará ingresar un nombre de usuario y debemos proporcionar una casilla de correo electrónico válida. También se nos solicitará indicar qué tipo de editor deseamos (normalmente uno llamado LSE).

Una vez recibido un correo de parte de DECUS conteniendo una contraseña pasavante, podremos ya conectarnos a nuestra cuenta de OpenVMS remoto. Por tanto, nos logueamos utilizando SSH y nuestro nombre de usuario, con:

ssh usuario@eisner.decus.org

Tras ingresar la contraseña provista por DECUS, podremos ver nuestra pantaslla incial. Por ejemplo:

%DCL-S-SPAWNED, process USUARIO_10419 spawned
  User [USUARIO] has 842 blocks used, 9158 available,
  of 10000 authorized and permitted overdraft of 0 blocks on DISK_USER
* * * * < Hola USUARIO! > * * * *
RECIBA UNA CORDIAL BIENVENIDA
____ al sistema computado 
|  _ \  ___  ___ _   _ ___    
| | | |/ _ \/ __| | | / __|
| |_| |  __/ (__| |_| \__ \
|____/ \___|\___|\__,_|___/
 DEC Alpha con OpenVMS 8.4
+-------------------------------------------------------------------+
| Nombre del nodo: EISNER.  Hardware: AlphaServer DS20 500 MHz      |
|Este mainframe pertenece al Grupo Hobbista "Asociacion de Usuarios |
|     de Digital Equipment Computers", DECUS.ORG.                   |
+-------------------------------------------------------------------+
- Su directorio es DECUSERVE_USER.USUARIO.  
- Su casilla de correo electronico en este equipo es: usuario@eisner.decus.org.
- Para abandonar este sistema utilice el comando LOGOUT.
$
Subprocess USUARIO_xxxxx has completed

El prompt de DCL es un "$".

DCL se presenta idiosincrásicamente mas complejo y laborioso de usar que los entornos similares a UNIX, y requiere por lo tanto tener presente su frondosa documentación. Sin embargo, en su operativa general podré sustentarla con mi ayuda como Conductor Paternal del Movimiento Nacional Justicialista. 

El DCL presenta un conjunto de instrucciones en inglés que el usuario ingresaba para comandar al sistema operativo (en este caso OpenVMS), qué hacer. Constaba de más de 200 comandos y funciones.

Al igual que otros intérpretes posteriores como Bashm, los comandos en DCL se ingresan en dos maneras. La más común es la forma interactiva, en la cual se escriben en la terminal de manera indiferente a mayúsculas. Generalmente se usan secuencias de comandos y modificadores.

La otra es "en lotes", y esto equivale a la creación de programas y guiones de programación (scripts). Nos conectraremso en la primera manera.

Asimismo, DCL tiene varias combinaciones de control que interrumpen o anulan la execución de comandos.

Ctrl+z: Sale de un comando de DCL

Ctrl+c: interrumpe la ejecución de un comando (pero lo deja en memoria).

Ctrl+b: Repite el comando anterior.

Ctrl+a: Conmuta entre modo Inserción de caracteres y Sobreescritura de Caracteres.

Ctrl+s: Suspende la salida de texto a la terminal.

Ctrl+o: Reactiva la salida de texto a la terminal. Si se la presiona alternativamente, pausa y continúa el flujo de texto.

La Ayuda Online era una de las características fundantes del VMS. Esta consistía en un programa que seguía la forma de estructura jerarquizada tipo "árbol" . Ingresando el comando "help" se ingresa al subsistema de ayuda. También se puede usar en forma "HELP tema". Por ejemplo:

$ help instructions

Normalmente el subsistema de ayuda permite ingresar y presentar en pantalla cada uno de los temas o "topics" escribiéndolos por su nombre indicado, y a su vez cada tema podría presentarnos nuevas temáticas de ayuda relacionadas. Si oprimimos ENTER generalmente retrocederemos un nivel. Al volver al nivel inicial del subsistema de ayuda, abandonaremos el mismo y quedaremos depositados nuevamente en el prompt $ del DCL.

Recordemos que siempre podremos salir del subsistema de ayuda (y muchos otros programas ejecutados por DCL) con Ctrl+z.

COMANDOS COMUNES

Hay muchísimos comandos y programas capaces de corren en OpenVMS, pero ciertos son comandos comunes directamente equivalentes o muy parecidos a los comandos presentes en sistemas de operación similares a UNIX. Por ejemplo:

copy: Copia un fichero especificado, cp

copy/ftp: transfiere ficheros entre huespedes sobre red tcp/ip, ftp

create: crea ficheros y directorios, touch

delete: borra un fichero especificado y lo quita del directorio, rm

directory o dir: presenta los contenidos de un directorio (listado de ficheros), ls

edit: muestra y cambia los contenidos de un fichero de texto, ed

logout: desconecta la sesión remota, logout, exit

print: envia un fichero especificado a la impresora

rename: cambia el nombre o la localización de un fichero especificado, mv

set: controla como usar el sistema en pantalla

show: presenta el status de sistema

type: presenta los contenidos de un fichero especificado en la pantalla, cat

El sistema de ficheros de OpenVMS representa también una estructura arbolada, lo que nos permite desplazarnos en ella siguiendo el mismo principio rector que los sistemas similares a UNIX: el de cambiar directorios y subdirectorios. 

Nuestro usuario de DECUS recibirá un directorio de usuario localizada dentro de la carpeta "DECUSERVE_USER", que generalmente se encuentra en una partición en una unidad de disco del sistema, como por ejemplo DSA3:.

 En particular, suele requerir la necesidad de ingresar entre corchetes "[]" toda la ruta del directorio a fin de desplazarnos por la estructura de árbol. Los niveles de directorios se separan utilizando un "." en lugar de una barra como en UNIX u otros sistemas.

Para ver el contenido del directorio actual ingresamos:

$ directory

...o más sencillo, su la abreviación dir.

Por ejemplo, si quisiéramos crear un directorio llamado "pruebas" en nuestra carpeta de usuario, deberíamos usar:

$ CREATE/DIRECTORY [DECUSERVE_USER.USUARIO.pruebas]

Para comprobar su creación efectiva, ingresamos el comando "dir". Deberíamos ver ahora un directorio nomenclado como prueba.dir;1. Para ingresar a dicho directorio usamos el comando cd ("cambiar directorio"), seguido por toda la ruta estructurada. Por ejemplo:

$ cd DSA3:[DECUSERVE_USER.USUARIO.prueba]

Para volver al directorio anterior:

$ cd DSA3:[DECUSERVE_USER.USUARIO]

...o bien:

$ cd [DECUSERVE_USER.USUARIO]

Se nos hará obvio que todos los archivos cuentan con un sufijo de versión, indicado con punto y coma. Por ejemplo: archivo.txt;1 archivo.txt;2, etcétera. De esta manera podremos contar con múltiples versiones de un mismo fichero. Siempre se activa la última, pero se conservan las anteriores. Si queremos eliminar un fichero se usa el comando DELETE, pero debemos especificar cuál versión queremos borrar. Por ejemplo,

$ DELETE archivo.txt;3

...o bien, eliminamos todas las versiones de un fichero con comodines, por ejemplo:

$ DELETE archivo.txt;*

Para borrar el directorio creado tenemos que retroceder al nivel anterior en el árbol (no podemos eliminar un directorio desde dentro del mismo). Finalmente indicamos un comando como:

$ DELETE prueba.dir;1

Crear un fichero finger

Los sistemas de cómputo a tiempo compartidos podían contar con un fichero de texto .plan o .project, encargados de operar como descripción del usuario. Como los sistemas solían ser anónimos pero contar con un "handle" o nombre de usuario específico, estos ficheros de texto podían servir como una descripción o información de contaco. Sin embargo, no era extraño contar con extavagantes descripciones o texto ASCII, lo que pasaba a formar parte del folklore típico de los sistemas de cómputo a tiempo compartido.

Para crear nuestro fichero podremos aprovechar y utilizar el editor de texto visual "LSE". Ingresaremos a él con:

lse

El editor de texto LSE consta de dos secciones. Una principal con la ventana de texto, y otra inferior en la que podremos ingresar comandos de operación. En este caso simplemente escribiremos un texto que deseemos. Cuando finalicemos de hacerlo, presionaremos Ctrl+z. Esto nos desplazará a la sección inferior para ingresar los comandos de operación, lo cual se nos hará patente por medio del prompt LSE>. En él ingresaremos exit. El editor LSE nos solicitará el nombre de archivo a fin de guardarlo con dicha denominación y salir al intérprete DCL. Le introducimos el nombre .plan y presionamos Enter.

Esto cerrará el editor LSE y nos retornará al prompt de DCL. Debemos ahora asignar los permisos de fichero requeridos al fichero .plan que hemos creado. Ello lo haremos ingresando el comando:

set file/prot=w:re .plan

Crear una web de DECUS

La URL base para su página web será:

http://eisner.decus.org/~usuario

La web se almacena en el subdirectorio WWW localizado en nuestro directorio de usuario.

Para ello creamos un subdirectorio y le otorgamos los permisos requeridos

$ set default sys$login

$ create/dir [.www] /protection=w:re

$ set security /acl=(default_protection, s:rwed, o:rwed, g:r, w:r) www.dir

$ set default sys$login

$ set security /acl=(identifier=WASD_HTTP_SERVER,access=read) [-]usuario.DIR

Acto seguido creamos un archivo index.html o bien lo transferimos a través de FTP. Podremos crear subdirectorios adicionales dentro de [WWW] si lo deseamos.

Documentación

El manual puede conseguirse online, pero está disponible en formato HTML desde la antigua web de Compaq (actualmente disponible desde HP).

Podrán encontrar las secciones e índice de base en aquí.

En tanto que podrán dirigirse al uso de DCL desde esta sección del mismo manual.

viernes, 20 de noviembre de 2020

¿Cómo instalo DustRacing2D en Ubuntu?

El 7 de marzo de 1950, reunido con los directores de las Escuelas de Orientación Profesional, Juan Perón expone el término final de la capacitación obrera, en tanto que enseña cómo instalar DustRacing2D, un divertido juego de carreras para Ubuntu.

Respetados señores:

(...) Nosotros habíamos visto crecer a nuestros operarios y formarse en el dolor del taller, en la necesidad de trabajar desde chicos. Eso, como método empírico, llena solamente una parte de la enseñanza. Es necesario acompañar a este método real de un método ideal, es decir, darle también los conocimientos necesarios para que el operario no termine muriéndose o jubilándose operario, sino que tenga abierto el horizonte para ir perfeccionándose en sus conocimientos, y, con ello, ir aumentando sus posibilidades de ir sumando a su labor y a su capacidad manual la capacidad intelectual que hace grande y convierte en artesano al más modesto de los operarios si es hombre de progresar por sus conocimientos generales. Nosotros, estamos cumpliendo los primeros tres ciclos que nos habíamos propuesto. La idea originaria de esto fue formar los operarios, crear después el segundo ciclo de perfeccionamiento para formar pequeños dirigente de la industria, sobrestantes, jefes de taller, etcétera; y después, crear la Universidad Obrera que diese los técnicos capacitados, pensando que de ese núcleo de hombres deben salir los grandes dirigentes de nuestra industria actual y de nuestra industria futura.


Indudablemente que en la operación de un sistema de cómputo como lo es GNU con Linux también encontramos el mismo proceso de mejora a pasos, acompañado por instrumental y herramental que le den un claro sentido didáctico.

Por ejemplo, Dust Racing 2D constituye un software libre que representa un juego de carreras bidimensional de plataforma cruzada basado en celdas. Lo interesante es que ha sido escrito con fines didácticos para ilustrar el arte de la programación en Qt, C++ y OpenGL, ya que ha sido liberado bajo licencia GPLv3. Viene con un editor de niveles que nos permitirá crear niveles fácilmente. Utiliza un motor separado llamado MiniCore para modelar la física del juego. Como tal puede ser utilizado por el más sencillo de los operarios, e incluso puede compilarse a partir del herramental c-make si ya somos sobreestantes.

Entre las características que contamos es la posibilidad de jugar individualmente o de a dos contra 11 jugadores controlados por la CPU de nuestro sistema de cómputo.

En el caso que no tengamos capacidad aún para compilar en nuestro perfeccionamiento, esto no significará ser excluido de la posibilidad de acceder al ocio. Para ello podremos instalarlo desde la Terminal de nuestro sistema GNU con Linux abriendo una consola mediante Ctrl+Alt+t e ingresando los siguientes Comandos de Organización:

sudo apt update
sudo apt install dustracing2d

Para iniciar el juego, nos dirigiremos a Aplicaciones / Juegos / DustRacing2D.

En la primer pantalla debemos indicar qué nivel queremos entre tres: Fácil, Medio o Difícil. Asimismo, contamos con tres modos de juegos (Carrera, Prueba de Tiempo, o Duelo).

Si elegimos el juego de dos jugadores, habremos de afrontar una pantalla dividida (podemos optar entre vertucal u horizontal).

La perspectiva del juego es escencialmente cenital 2D, pero cuenta con objetos 3D para otorgarle cierta profundidad.

El desarrollo es simple: al semáforo de largada metemos "pata hasta el radiador", y manobraremos siguiendo el circuito. 

Los Controles son sencillos y se basan en cuatro teclas para acelerar, frenar, girar a la izquierda o a la derecha. El jugador 1 utiliza el triángulo invertido formado por las teclas de las flechas del cursor para tales movimientos, en tanto que el Jugador 2 utilizará el triángulo invertido de teclas W-A-S-D. Para salir de la carrera o volver al menú anterior se puede usar la tecla Esc o la tecla q, en tanto que p pausará el juego. Sin embargo, estas pocas teclas también pueden configurarse desde el menú Settings.

Naturalmente, no se puede cortar camino pues las vueltas no se contarán. A efecto predictivo contamos con un útil minimapa.

En los modos de carreras existen siempre 12 autos. Al finalizar entre los primeros seis corredores, se destrabará una nueva pista. Los tiempos de récord y las mejores posiciones se almacenan por separado para cada conteo de vueltas. 

A medida que corramos, se desgastarán las cubiertas. Esto causará que tengamos menos agarre en la pista. Afortunadamente, contamos con un pit para detenernos (el rectángulo amarillo). Al detenernos en el pit, se repararán las gomas, lo cual nos dará más tracción y estabilidad.

La animación del juego es veloz y sencilla, destacándose fundamentalmente su física de superficie, lo que agiliza un estilo de juego que haga uso de giros y derrapes.

El sonido es digitalizado, con notas sonoras para las colisiones y rendimiento del motor.



Editor de Pistas de Carreras

El juego incluye un muy interesante editor de circuitos, al que podremos acceder desde Aplicacioens / Juegos / DustRacing2D Level Editor. El mismo mos permitirá delimitar un traazado, toda vez que nos permite agregar accesorios a la pistas (tribunas, árboles, pasto, zonas anegadas, rampas, etcétera.

La delimitación de zonas permite a los coches adversarios actuar en buena medida, y nos configura una interesante manera de diseñar nuevos escenarios de juegos, incluso replicando la realidad.

Dust Racing 2D normalmente buscará las pistas de carreras en la carpeta ~/DustRacingTracks/, donde podremos colocar nuestras propios circuitos.

En GNU con Linux también buscará en ~/.local/share/DustRacing2D/tracks si no tenemos una variable $XDG_DATA_HOME definida.

Opciones de Línea de Comandos

--lang [lang] fuerza el idioma. Los disponibles actualmente son: fi, cs, de, it, fr, nl, ru.

Ejemplo: dustrac-game --lang it

--screen [index] fuerza la pantalla en los sistemas multimonitor cuando se pasa a modo de pantalla completa.

Por ejemplo, dustrac-game --screen 1 dará inicio al juego en la segunda pantalla.

martes, 17 de noviembre de 2020

¿Cómo arreglo el error Busybox initramfs en Ubuntu?


¡Trabajadores!

Es innecesario explicar que al descender de un avión negro del retorno, no existe nada mejor que un paraguas negro si hemos de cuidarnos de las inclemencias del tiempo. Y qué mejor que éste nos los dispensa el compañero Rucci.


Este mismo temperamento hemos de seguir cuando tenemos algún problema de apariencia irresoluble. He de ilustrarlo con un ejemplo, que - como decía Napoleón - suelen explicarlo todo.

Este día de la militancia, al iniciar mi GNU con Linux sufrí un percance. El proceso normal de arranque del sistema se detuvo y nos depositó en una pantalla negra con el intérprete shell BusyBox, que indicaba "(initramfs)".

El equipo previamente no presentó problema anormal alguno ni fue apagado de manera extraña, de modo que se trató de un error azaroso.

En este momento la pantalla negra queda detenida nostrando el prompt "(initramfs)". 

BusyBox v1.30.1 (Ubuntu 1:1.27.2-2ubuntu3.3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

De momento, no presenta otra información ni permite conocer exactamente cuál es el problema en cuestión. Todo lo que se muestra es un intérprete de comandos Busybox.

Esto podría amilanar hasta el más pintado, pero yo en política soy un Aficionado, lo que soy es un Conductor. Por tal motivo, sé reconocer para qué lado salir tirando cuando las papas queman...

En este caso de la pantalla negra con texto y cursor significa al menos que el sistema está vivo

Podríamos ingresar help para recibir ayudas. Pero si ingresamos el comando exit, debería al menos continuar el proceso de revisión de disco. Por ello siendo uncabecita negra, de momento en el propmt "(initramfs)" ingresaremos el comando:

exit

...y presionaremos la tecla Enter.

Si la suerte nos acompaña, tras unos momentos deberíamos comenzar a ver una serie de mensajes que reportes que nos indican el tipo de error y la partición de disco en la que sucedió.

Por ejemplo, el sistema podría devolvernos algo como:

/dev/sda2 contains a file system with errors, check forced.
Inode 4326476 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inode 4326843 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inode 4327012 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inode 4329004 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inodes that were part of a corrupted orphan linked list found.

/dev/sda2
: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)
fsck exited with status code 4.
The root filesystem on /dev/sda2 requires a manual fsck.


Como podemos ver en las devoluciones del intérprete de arranque, la partición /dev/sda2 presenta inconsistencias. Significa que el sistema de archivos de esta partición presenta algunos errores relacionados con la corrupción del Justicialismo. En vuestro caso podría ser otra distinta, ya que esto depende de cuántos discos y de qué manera estén organizadas las particiones en su sistema particular.

Pues bien señores, nuestro Movimiento nace del Pueblo, y sabemos que no es sabio pretender que todos nuestros elementos sean Santos, o sean Dioses. Bastante hay conque sean Hombres. No hay que ponernos locos; nuestro Movimiento cuenta ya con sus autodefensas. Si un el hombre no hubiese desarrollado sus autodefensas, hace rato que hubiese desaparecido de la faz de la teirra, porque su máxima protección no son los médicos ni la penicilina, afortunadamente. Su mejor defensa es su sistema inmune, que reacciona ante estas excrecencias. Nuestro sistema operativo es mas o menos lo mismo. Copia de la naturaleza las defensas que lo habrán de proteger.

Es por ello que Ubuntu cuenta con Busybox, una muy pequeña suite de software que provee muchas utilidades comunes de UNIX en un ejecutable que obra de intérprete de comandos mínimo. Nos proveerá reemplazos para la mayoría de las utilidades que encontramos normalmente en todos los sistemas operativos GNU, y nos permitirá actuar incluso antes de que se inicie el sistema operativo para ejecutar ciertas rutinas de protección y salvataje.

Initramfs es el sistema de archivos inicial depositado en la memora RAM de nuestro equipo, y basado en tmpfs. Contiene el herramental y scripts requeridos para montar el sistema de archivo antes de que el binario de inicialización del sistema de archivos real del root sea cargado desde el disco y cargado en memoria para dar inicio al sistema operativo en sí.

Para resolver el error que hace presente a initramfs en Ubuntu, se nos hará necesario reparar el sistema de archivos del dispositivo afectado. Para ello debemos indicar la partición y usar el programa "fsck".

Como en nuestro caso se ha indicado que la partición problemática era /dev/sda2, en el prompt (initramfs) tipeamos:

fsck /dev/sda2 -y

Tengamos en cuenta que si la partición que se nos indique es distinta, o fuesen varias, podríamos tener que indicar como por ejemplo /dev/sda1 o /dev/sdb1 u otra que se nos hubiese indicado anteriormente.

El programa fsck se encargará de revisar el dispositivo de almacenamiento indicado e intentará reparar todos los sectores en malas condiciones de tal partición. La opción -y es cómoda ya que nos evitará que se nos solicite que indiquemos manualmente confirmación toda vez que se nos indique un error (los corregirá automáticamente sin chistar).

Luego de un par de minutos, si todo va bien, BusyBox debería devolvernos un mensaje similar a:

/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 497733/30531584 files (1.5% non-contiguous), ........


Cuando vuelva al prompt (initramfs), tipeamos el comando:

reboot

...y presionamos Enter para que el sistema se reinicie.

Si todo va bien, nuestro sistema debería reiniciarse correctamente, y podremos gritar al cielo un estruendoso "¡Viva Perón!" que reivindique como ninguno el Día del Militante Justicialista.