Arxiu de la categoria: Programari

Explorant el Món del Sistema Operatiu GNU Guix

Avui dia hi ha una gran quantitat de sistemes operatius de codi obert i el GNU/Guix sorgeix com una molt bona opció per aquelles persones que busquen control, transparència i llibertat en el seu entorn informàtic. El projecte ha estat ideat i desenvolupat pel GNU i la FSF.

Què És el GNU/Guix?

El GNU/Guix és una distribució de sistema operatiu que destaca per la seva gestió avançada de paquets i la seva filosofia d’usar exclusivament programari lliure. Una de les característiques més distintives és el sistema de gestió de paquets funcional, que permet als usuaris tenir múltiples versions de les mateixes llibreries i aplicacions instal·lades de forma simultània, garantint la coherència i la reproductibilitat de l’entorn del sistema.

Principals Característiques:

  1. Sistema de Gestió de Paquets Funcional: La característica principal que diferencia el GNU/Guix és el seu sistema de gestió de paquets funcional, que ofereix un control granular sobre les dependències del sistema i permet als usuaris gestionar entorns d’aplicacions amb facilitat.
  2. 100% Programari Lliure: Una estricta adhesió als principis del programari lliure, garantint que tots els components del sistema siguin lliures i oberts.
  3. Reproductibilitat: La capacitat de reproduir exactament un entorn de sistema en diferents màquines, assegurant una consistència i coherència en tots els entorns d’ús.
  4. Col·laboració amb el Projecte GNU: El GNU/Guix és fruit de la col·laboració entre el projecte GNU i la Free Software Foundation, assegurant una base sòlida en els principis del programari lliure.

Com començar amb GNU/Guix:

Per als que vulguin explorar el GNU/Guix, el procés d’instal·lació és un bon punt de partida. El suport per a diferents arquitectures i la documentació completa faciliten el desplegament d’aquest sistema operatiu fascinant.

En el cas que no es disposi d’un ordinador per instal·lar el sistema, una bona opció és instal·lar-ho com una màquina virtual. A la secció de descàrregues de GNU/Guix té diverses opcions que podem triar.

Tenc preparat una entrada on us mostraré com instal·lar-ho a un VirtualBox a partir de la imatge de QEMU.


Diferents tipus d’accés xarxes

Avui dia, la seguretat digital és més necessària que mai. La gran majoria de persones tenim una vida hiper connectada i estam a més d’una xarxa social, usam molts de serveis en el núvol i per tant necessitam un accés per a cada un dels sistemes que usam.

En un món perfecte, per a cada servei hauríem de tenir una contrasenya única i robusta (alguna cosa que sabem). Dic en un món perfecte per que segur que no és així.

Anem a veure quins son els mètodes d’autenticació que existeixen i com podem millorar la seguretat.

Alguna cosa que sabem

En aquest cas és el més conegut per a tothom, és la contrasenya o el codi PIN.

Com poder fer que siguin més segurs?

  • No crear contrasenyes febles: Amb això vull dir que haurien de ser complexes i afegir caràcters no alfabètics, com a signes de puntuació i mesclar números i lletres, majúscules i minúscules.
  • Canviar-les freqüentment: No tenir la mateixa contrasenya tota la vida.
  • No compartir-la amb ningú: i per suposat MAI de la vida envieu una contrasenya per correu. PER FAVOR!

En definitiva, tractar la contrasenya com la roba interior que no la mostres i la canvies amb certa freqüència.

Collons això de tenir una contrasenya robusta és difícil! no la recordaré!

Tu, ara mateix

Pot ser una resposta, però els navegadors us poden ajudar.

Els més moderns tenen un sistema que et permeten generar i desar la contrasenya de forma fàcil i còmode. A més, com que pots tenir sincronitzades les teves preferències, tens les mateixes contrasenyes a tots els teus dispositius.

Si vols anar més enllà, pots usar un gestor de contrasenyes com és el Keepass que ho teniu per la majoria de les plataformes.

Alguna cosa que tenim

En aquest grup hi caben les targetes de coordenades o generadors de claus.

Les targetes de coordenades son utilitzades típicament a banca. Tens una targeta amb una graella amb números i quan fas una transacció et diu que posis el que ocupa la casella x i d’aquesta forma pot validar que l’ha sol·licitada el propietari.

Els generadors de claus son uns sistemes, que poden ser una aplicació o un element físic (una clau), que cada cert temps genera codis aleatoris i quan accedim a un sistema ens sol·licita aquesta clau. És important saber que el sistema ha d’estar vinculat amb el generador de claus, ja que si no es fa impossible el seu us.

Alguna cosa que som

Control biomètric, ja sigui les ditades (empremtes digitals), escaneig de còrnia, reconeixement facial, …

Aquest, darrerament està a l’ordre del dia. La gran majoria dels telèfons actuals duen aquests sistemes per desbloquejar el terminal i ser usat. Pràcticament ja ho fem sense pensar-ho.

Com podem millorar la seguretat

Com hem dit al principi, majoritàriament s’usa l’usuari i contrasenya (Alguna cosa que sabem), però combinant amb un altre dels factors, podem millorar la seguretat.

La majoria de les xarxes socials ja ens faciliten el doble factor d’autenticació (2fa) això simplement és combinar el teu usuari i contrasenya amb un altre com podria ser la generació de claus.

Començaré una serie d’entrades on explicaré com activar aquest mètode a les diferents xarxes socials i així millorar la seguretat.

  • Com activar el doble factor d’autenticació a Instagram
  • Com activar el doble factor d’autenticació a Facebook
  • Com activar el doble factor d’autenticació a Google
  • Unificar la generació de claus en una mateixa app usant Latch

Xarxes socials lliures federades

Originalment, internet havia de ser una xarxa descentralitzada a fi de mantenir la seva independència.

Amb l’aparició de les grans empreses d’Internet, aquesta descentralització s’ha vist, bastant, retallada.

Les actuals grans empreses d’internet, GAFAM (Google, Amazon, Facebook, Apple, Microsoft) s’han fet els seus bastions on estan aglapint la majoria del transit d’internet, vaja que es reparteixen el pastís.

Silos socials

En respecte a les xarxes socials, el principal actor en aquest cas, és Facebook, el qual és la principal xarxa social en aquest moments juntament amb Twitter (Instagram forma part de Facebook). Amb simplement una cerca de facebook per internet, veurem gran quantitat de notícies de rastreig per part de facebook als seus usuaris fins i tot una vegada s’ha sortit de la sessió.

Pràcticament no hi ha (hi havia) opció en el referent de les xarxes socials: o Facebook o Twitter o Instagram. Ara sí.

Xarxes Federades i lliures

Dins els moviments lliures, tan dades com programari, han sorgit ja fa uns anys la proliferació de xarxes socials basades en protocols lliures, per tant interconnectables.

Un bon exemple d’aquestes xarxes és Mastodon. Mastodon és una xarxa social lliure on els seus usuaris, a l’igual que twitter, facebook, youtube… poden publicar missatges, fotografíes, vídeos i seguir i interactuar amb altres usuaris.

El que diferencia Mastodon de la resta de xarxes socials, és que és descentralitzada. Mastodon és basa en la interconnexió de diferents instàncies de l’aplicació, que entendrem com a instancia a servidors executant instal·lacions de Mastodon. Cada instancia és administrada independentment i és federa amb altres a fi d’intercanviar la informació.

Federation is a form of decentralization. Instead of a single central service that all people use, there are multiple services, that any number of people can use.

https://docs.joinmastodon.org/

Per tant cada instancia pot ser connectada (federar-se) a altres o simplement quedar aillada i ser un centre d’intercanvi de dades per a sols un grup de gent.

A continuació, exemples de diferents graus de descentralització.

  • Centralitzades: Twitter, Facebook, Instagram
  • Federades: Email, XMPP, phone networks, physical mail
  • Distribuïdes: BitTorrent, IPFS, Scuttlebutt
Centralitzada, federada, distribuïda font: https://docs.joinmastodon.org/

Hi ha varis protocols lliures i en el cas de Mastodon s’utilitza el protocol d’ActivityPub, per intercanviar la informació, per tan qualsevol aplicació que implementi aquest protocol pot interactuar amb la xarxa.

Tipus de xarxes alternatives a les centralitzades

Per cercar alternatives a les diferents xarxes socials centralitzades a lliures, s’han creat difents projectes i alguns d’ells son interconnectables, ja que impementen el mateix protocol, per tant s’entenen en l’intercanvi de dades. No son tots els que hi ha ni molt manco, sols uns exemples.

Gràcies als protocols lliures

Aquestes xarxes socials es poden donar gràcies als protocols lliures. N’hi ha varis. Una llista dels més coneguts i les xarxes que ho implementen (no tots):

  • ActivityPub: Mastodon, WriteFreely, Peertube, Pleroma, FunkWhale, PixelFeed, SocialHome, Hubzilla, Friendica, Misskey, Plume, …
  • diaspora: diaspora*, SocialHome, Hubzilla, Friendica
  • Zot: Hubzilla, Zap
  • OStatuts: Hubzilla, GNU Social, Friendica, Pleroma
  • DFRN: Friendica

font: https://fediverse.party/

Hi ha més xarxes, la majoria experimentals i amb pocs usuaris, teniu un llistat a https://fediverse.party/en/miscellaneous que descriu quines tecnologies usa i quin(s) protocols desenvolupa.

Com veis és un tema on ens hi podem tirar hores i que és ben interessant.

A continuació deix uns enllaços que poden ser útils per entrar en aquest món de les xarxes socials lliures:

Fix ubuntu: una ajuda per millorar la privacitat a l’ubuntu

Ubuntu, té un petit problema de privacitat. Per defecte, quan usam el Dash (cercador de l’ubuntu) envia els termes de cerca cap a diferents llocs. Fixau-vos-hi, quan cercau algun fitxer vos surten recomanacions de llibres i música que no teniu a l’ordinador, cert?. Envien els termes cap a amazon, ebay i d’altres, per això ens torna els suggeriments.

Aquest problema de privacitat, sols resideix al usar l’escriptori Unity, el per defecte d’Ubuntu. Si uses algun altre, com Gnome, KDE … o un altre sabor d’Ubuntu, com son Xubuntu, Kubuntu o linux Mint, no tendras aquest problema.

Com solucionar-ho, molt fàcil, copiant la següent línia, aferrar-la al terminal, posar la contrasenya i ja està arreglat

Aquí mateix teniu el còdi amb una sola línia.

V=`/usr/bin/lsb_release -rs`; if [ $V \< 12.10 ]; then echo "Good news! Your version of Ubuntu doesn't invade your privacy."; else gsettings set com.canonical.Unity.Lenses remote-content-search none; if [ $V \< 13.10 ]; then sudo apt-get remove -y unity-lens-shopping; else gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']"; fi; if ! grep -q productsearch.ubuntu.com /etc/hosts; then echo -e "\n127.0.0.1 productsearch.ubuntu.com" | sudo tee -a /etc/hosts >/dev/null; fi; echo "All done. Enjoy your privacy."; fi

Aquí, exactament, el códi anterior, explicat

#!/bin/bash
 
# Recupera i desa a la variable V, la versió d'Ubuntu que s'està executant
V=`/usr/bin/lsb_release -rs`
 
# Els problemes de privacitat comencen a la 12.10, per tant en versions 
# antigues no serà necessari fer res de res
if [ $V \< 12.10 ]; then
  echo "Good news! Your version of Ubuntu doesn't invade your privacy."
else

  # Deshabilitam "Remote Search", per tant els térmes de búsqueda del 
  # Dash no s'enviaran a través d'internet
  gsettings set com.canonical.Unity.Lenses remote-content-search none
 
  # Si estàs usant una versió inferior a 13.10, desinstalam unity-lens-shopping
  if [ $V \< 13.10 ]; then
    sudo apt-get remove -y unity-lens-shopping
 
  # Si estàs usant una versió superior, deshabilitam els punts remots
  else
    gsettings set com.canonical.Unity.Lenses disabled-scopes \
      "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope',
      'more_suggestions-populartracks.scope', 'music-musicstore.scope',
      'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope',
      'more_suggestions-skimlinks.scope']"
  fi;
 
  # Bloqueig de connexions a servidores de publicitat d'Ubuntu, per si s'escau.
  if ! grep -q productsearch.ubuntu.com /etc/hosts; then
    echo -e "\n127.0.0.1 productsearch.ubuntu.com" | sudo tee -a /etc/hosts >/dev/null
  fi
 
  echo "All done. Enjoy your privacy."
fi

Vist a Fixubuntu.com

Prevenir la compartició de fotos a pinterest

Pinterest es una de les plataformes de compartició que més està creixent a internet.

A vegades no ens interessa que sigui fàcil que algú comparteixi una de les nostres fotografies a Pinterest, per les raons que siguin.

Doncs tenim una forma de fer-ho un poc més difícil, que no imposible.

Per evitar-ho simplement afegirem a la página, entre les etiquetes <head></head>:

<meta name="pinterest" content="nopin" />

Si volem modificar el missatge, simplement fem el següent:

<meta name="pinterest" content="nopin" description="Uep!, me sap greu però no pots compartir això" />

Si no vols evitar la compartició de totes les imatges, simplement només unes quantes, has de posar aquest atribut a l’etiqueta img que vulguis protegir:

<img src="imatge.jpg" nopin="nopin" />

Com he comentat abans, no és impossible la compartició, però ja ho posam més difícil.

font: Prevent pinning from your site | Pinterest

Crear icones de pantalla de windows 8 per una web

A la nova versió de windows, la 8, el primer que veu l’usuari es un panell amb les icones dels programes.

Microsoft, ha posat fàcil, als desenvolupadors web, la forma de crear aquestes icones. Si en volem tenir una per a la nostra web, tan sols s’han d’afegir aquestes dues etiquetes entre els tags <head></head>

<meta name="msapplication-TileColor" content="#123456"/>

<meta name="msapplication-TileImage" content="logo.png"/>

La primera, serà per asignar el color de fons, on #123456 serà el color RGB en anotació hexadecimal, l’altre serà el camí cap a la icona de la nostra web, que sortirà damunt del color que prèviament hem configurat.

 

Microsoft posa fàcil el testeig amb diferents Internet Explorer

Tantes son les versions de Internet Explorer, que per la gent que ens dedicam a la programació web, és un gran maldecap.

No en parlem si ja ens obliguen a que es vegi i funcioni bé amb Internet Explorer 6, un navegador que no segueix cap estàndar web i a més que ja te els seus anys.

Darrerament la política de Microsoft en vers als estandars web, pareix que está donant un canvi, i pareix que és cap a bò.

Ells saben que la gent que ens dedicam a la programació web, tenim el mal de cap de haver de provar amb vàries versions del seu producte, per això han creat una web amb diferents recursos que podem utilitzar per facilitar-nos la tasca de prova.Aquesta web es modern.IE, podem trobar desde analitzadors sintàctics online, com a imatges de màquines virtuals tant de windows XP, windows Vista, Windows 7 i Windows 8 amb les seves corresponents instal·lacions de Internet Explorer.

Per tant, per dur a terme les proves sols ens hem d’instal·lar el Virtual Box i baixar les diferents imatges de windows. Un cop instal·lat el virtual box, tenim a disposició un tutorial en pdf de com configurar les diferents màquines virtuals i els usuaris i contrasenyes que s’han configurat.

Fixau-vos el que deia que esta canviant la política de Microsoft, que posen solucions fins i tot per a gnu/Linux.

Com instal·lar Adobe Brackets a Ubuntu 13.04 Raring Ringtail

Un company de feina em va recomanar l’editor Adobe Brackets per editar HTML, CSS, JS de una forma cómoda i ràpida. Brackets és part d’Adobe, però és un projecte lliure hostejat a github.

Volia provar-lo, però como es d’esperar sols està per a Windows i per a Mac OS X. En el pc de casa sols hi tenc Ubuntu 13.04, ja pensava que no tendria versió per a gnu/linux. Pero Tatxaaan! la té!

Com se instal·la?

Molt fàcil, seguint les passes de la wiki del repositori d’Adobe Brackets a github. Sols hem de tenir en compte dues coses:

La següent explicació és per a una instal·lació de 32bits, si tiens instal·lada una versió de 64bits, simplement canvia el 32 per un 64 🙂 fàcil, eh? i l’altre que has de tenir instal·lat git a la teva màquina per poder descarregar-te el còdi de github.

mkdir ~/brackets && cd ~/brackets
git clone https://github.com/adobe/brackets.git
cd brackets
git submodule update --init
cd ..
wget https://github.com/downloads/pritambaral/brackets-shell/Brackets-shell-32.tar.bz2
tar xf Brackets-shell-32.tar.bz2 && rm Brackets-shell-32.tar.bz2
ln -s brackets/src www
ln -s brackets/samples ./samples
./Brackets

Espero que ho disfrutis.

Com Instal·lar Oracle Java 7 o Oracle Java 8 a Ubuntu via PPA

Necessitava instal·lar Oracle Java a la meva màquina de feina amb Ubuntu, actualitzada a la darrera versió 12.10 Quantal Quetzal. Després de googlejar un ratet m’he topat amb una bona i fàcil solució.

El grup Webupd8 ha creat un repositori a launchpad amb els binaris de l’Oracle Java, tant de la versió 7 como la versió 8.

Per poder instalar-lo, seguirem les següents passes:

Obrim un terminal i teclejam:

terminal:~$sudo add-apt-repository ppa:webupd8team/java 
terminal:~$sudo apt-get update 
terminal:~$sudo apt-get install oracle-java7-installer 
terminal:~$sudo echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

 

La darrera passa és per acceptar els termes de la llicència d’Oracle Java.

Llest!. Per assegurar-nos que tenim la versió desitjada:

 

terminal:~$java -version

 

I ens ha de mostrar alguna cosa similar a:

java version "1.7.0_09" 
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode)

 

Si per algun motiu el java -version no es el desitjat teclejam:

terminal:~$sudo update-java-alternatives -s java-7-oracle

 

Per eliminar el paquete

terminal:~$sudo apt-get remove oracle-java7-installer

 

Com usar Piwik amb Amazon CloudFront com a CDN

Aquesta entrada l’escric ja que m’he trobat en que hi ha poca informació de com usar l’Amazon CloudFront com a CDN de tipus Origin Pull (mirall).

Per tot el que he trobat sobre el CloudFront per internet era per usar conjuntament amb el servei de S3, que per el cas que el necessitava, no me servia per res. Fins i tot la documentació del CloudFront, t’explica com usar-lo juntament amb S3 (que nooo, que no és això que vull!!) Jo volia usar-lo per servir de manera ràpida el codi javascript d’analítica web Piwik, el qual tenc instal·lat a un servidor pròpi. Si, val, ho reconec, es una pijada 🙂

Que necessitem:

  • Una instal·lació de Piwik en un servidor accessible des d’internet (important, està clar).
  • Un compte de Amazon Web Services, validada.

Un cop tenim tot el que necessitem, ens donem d’alta al servei de CloudFront i pas a pas fem el següent:

Descàrrega de responsabilitats: Aquesta és la configuració que a mi m’ha anat be. No significa que pel teu cas sigui aquesta que hagis de seguir! No me faig responsable de cap mal funcionament!

  • Anem a la AWS Management Console i seleccionem el servei CloudFront.
  • Click al botó “Create distribution
  • Passa 1: Seleccionem el mètode d’entrega (Delivery Method). Per el nostre cas usarem el mètode Download.
  • Passa 2: Creació de la distribució (Create distribution).
  • Origin settings -> Origin Domain Name: Aquí posem la url de la instal·lació de Piwik del nostre servidor. (per Ex. piwik.domini.com) Origin ID -> s’auto completarà a partir de l’anterior camp. Després és editable. És un camp purament administratiu.
  • Default Cache Behavior Settings: Viewer Protocol Policy ->HTTP and HTTPS, Object Caching -> Use Origin Cache Headers, Forward Cookies -> All, Forward Query Strings -> Yes
  • Distribution Settings: Price Class -> Use All Edge Locations, Alternate Domain Names (CNAMEs) -> Aquí podem posar els diferents CNAMEs que creem a la nostra zona de DNS apuntant a la URL que, un cop finalitzada la configuració, ens proporcionaran, Podem crear-ne fins a un màxim de 10 (per exemple cdn1.piwik.domini.com), Default Root Object ->(buid), Logging -> Off, Comment -> (buid), Distribution State -> Enabled
Just a la dreta de cada un dels camps hi ha una icona d’informació, que si la pitjam, ens mostrarà per a que serveix cada camp i podrem triar el valor més adequat.

Un cop editats tots els camps, pitjem el botó “Create distribution” i ja ho tendrem. Seguidament ens mostrarà la consola de CloudFront amb les diferents distribucions que tinguem configurades. Cal dir que tarda uns minuts en estar actiu, ja que s’ha de desplegar per tota la xarxa de servidors de AWS.

Veurem que ens faciliten un nom de domini, un tant mal de recordar, del tipus [numeros-i-lletres].cloudfront.net, per això ens donen la oportunitat de crear àlies (CNAMEs), com l’exemple que hem posat cdn1.piwik.domini.com.

Com crear els CNAMEs?

Fàcil, s’ha d’accedir al panell de control de la zona de DNS, pot ser no tenguis a questa opció. Si no la tens, t’has de posar en contacte amb l’administrador del teu servei i demanar-li que els crei a la zona que li indiquis.

Posem un exemple:

Tenim el domini piwik.domini.com aquest és el domini de la instal·lació del piwik i el domini que ens han proporcionat per usar el CloudFront [numeros-i-lletres].cloudfront.net

A la zona de DNS creem noves entrades de tipus CNAME, per exemple

cdn1.piwik CNAME [numeros-i-lletres].cloudfront.net.

cdn2.piwik CNAME [numeros-i-lletres].cloudfront.net.

cdn3.piwik CNAME [numeros-i-lletres].cloudfront.net.

Podem crear tantes CNAME com volguem, però el CloudFront només n’accepta un màxim de 10.

Noteu el punt final després de cloudfront.net, es important posar-lo, si no la url vos quedaria [numeros-i-lletres].cloudfront.net.domini.com. per tant no funcionaria correctament.

Un cop finalitzada la configuració de la zona, s’ha de deixar propagar els DNS i posar els CNAME a la configuració del CloudFront. Important aquesta passa, ja que si no les tenim afegides a la configuració del CloudFront, no funcionarà l’invent.

Com hem vist, jo també :D, és molt fàcil de configurar.