Diez Consejos para proteger tu privacidad en Facebook

Escrito por Juanjo el Monday, 21 de September del 2009 a las 10:01 pm

   Hace poco leí un artículo en inglés sobre consejos de privacidad en Facebook que me han parecido muy importantes conocer: 10 Solid Tipos to Safeguard Your Facebook Privacy

   Las redes sociales estan experimentando una masificación brutal en su utilización, y me he encontrado casos, sobre todo en personas poco acostumbradas a la navegación en la red y a los peligros que conlleva su mala utilización (nativos no digitales) exponiendo muchísimos datos sensibles sobre ellos mismos que no deberían estar circulando en Internet.  También es cierto que muchísimas personas, que a priori se desenvuelven mejor en ámbitos digitales, incurren en los mismos problemas y defectos, probablemente por falta de conocimiento, o por simple dejadez. 

   Teniendo en cuenta de que en Facebook está hasta mi madre, literalmente hablando, he traducido libremente los consejos para que puedan leerlo las personas que no controlen el inglés:

1 - Organiza a tus amigos en Listas

   ¿Qué haces cuando tu jefe, tu madrastra, o algún "conocido" te envía una petición de amistad en Facebook? Usar las listas de amigos, que es la base con la que cuentas para mantener tu privacidad. Elige Amigos > Todos mis amigos  en el menú superior, y luego utiliza el enlace Crear nueva lista para construirlas. Algunos ejemplos pueden ser Compañeros del trabajo, Familia, Compañeros de la Universidad, etc. Tus amigos no pueden ver tus listas, así que puedes nombrarlas de la forma que mejor se adecúe a tus necesidades. (Recomiendo, no obstante, evitar nombres como "Tías buenorras", "Pobres diablos" o similares :P)

01

   Tip: En la barra de navegación de la izquierda, puede que no se muestren por defecto todas las listas que has creado. Haz click en "Más" para verlas todas, y luego selecciona y arrástra aquellas que quieras ver por encima del separador.

2 - Personaliza la privacidad de tu Perfil

   Haz click en Configuración > Configuración de Privacidad > Perfil. Selecciona qué partes de tu perfil podrán ser vistas por quién.

02

   Si eliges la opción "Personalizar" en el menú seleccionable, puedes ser mas especifico. Es aquí donde las listas de amigos del punto anterior se convierten en útiles de verdad.

03

   También ve a la pestaña Información de Contacto y elige cuántos datos de contacto quieres que sean compartidos en Internet.

3 - Establece el Nivel de Privacidad de Facebook en los Álbumes de Fotos

   En la pestaña Fotos de tu perfil, haz click en Privacidad del Album. Aquí puedas usar de nuevo tus listas de amigos para establecer el nivel de privacidad para cada álbum.

04

   Ten en cuenta que tus fotos de perfil van a un álbum especial que está siempre visible para todos tus amigos (no es muy recomendable que tu jefe vea la última tranca a base de tequilas que pillaste)

4 - Restringe la visibilidad de las búsquedas

   Haz click en Configuración > Configuración de Privacidad > Búsquedas para establecer la visibilidad de tus datos cuando alguien está usando las búsquedas en Facebook. Este punto es una forma muy importante de salvaguardar tu privacidad. Puedes seleccionar también qué se mostrará en los resultados.

05

5 - Controla los envíos automáticos al Muro y las actualizaciones de tus acciones

   Tus acciones en Facebook como comentarios, gustos, "galletas de la suerte", aparecen resaltados en las páginas de inicio de todos tus amigos. No puedes usar listas de amigos aquí, así que sólo puedes activarlo o desactivarlo. Ve a Privacidad > Noticias y Muro y elige si quieres que tu jefe o tu ex sepan que estás enrollado con alguien.

06

6 - Establece la política de privacidad de tu Muro

   Ve a la página de tu Perfil, haz click en Opciones > Configuración bajo la caja de estados.

07

Aquí puedes controlar si tus amigos pueden postear en tu Muro, y quierenes pueden ver los mensajes hechos por tus amigos.

7 - Evita aparecer en Anuncios

   Facebook tiene dos tipos de publicidad: de terceras partes y de Facebook. Los anuncios de terceras partes actualmente no pueden usar tus fotos, pero hay un ajuste para no permitirlo en el futuro. Ve a  Configuración > Configuración de Privacidad > Noticias y Muro > pestaña Anuncios de Facebook y desactívalo.

08

Los anuncios de Facebook que se muestran a tus amigos son sobre ‘acciones sociales’ como convertirse en fan de algo. También se puede desactivar en el pie de la página.

8 - Protégete de las aplicaciones de tus amigos

   Ve a  Configuración > Configuración de Privacidad > Aplicaciones, haz click en la pestaña Configuración y desmarca todas las opciones. Esos ajustes controlan qué información sobre ti es visible en las aplicaciones instaladas por tus amigos. Por defecto, están marcadas como visibles, lo que significa que tus preferencias religiosas, sexuales y políticas, además de tus fotos, etc, son accesibles por mas de un millón de desarrolladores de aplicaciones de Facebook en todo el mundo, cada vez que uno de tus amigos realiza una prueba, juega, o ejecuta cualquier otra aplicación. Esto es, obviamente, un tema relacionado con tu privacidad.

09

   Probablemente, este es el aspecto más malentendido de la política de privacidad de Facebook. Esos ajustes controlan qué pueden ver sobre ti las aplicaciones instaladas por tus amigos, aún cuando tu no lo hayas instalado.

   ¿Por qué es importante esta aclaración? Porque estos ajustes no influye en lo que compartes en las aplicaciones instaladas por ti. Para controlar ésto está el siguiente punto.

9 - Privacidad de tus Aplicaciones

   No hay forma de controlar qué datos ven las aplicaciones; es un dilema de todo-o-nada. En este enlace (Inglés) puedes ver qué pueden saber sobre ti y sobre tus amigos los desarrolladores anónimos de aplicaciones, por el simple hecho de completar un test.

   Hay una aplicación llamada Privace Mirror, que permite averiguar qué puede que sepan las aplicaciones de ti y de tus amistades. Si realmente quieres saber exactamente qué datos del perfil de cada uno de tus amigos es visible para desarrolladores, Privace Mirror lo muestra en detalle.

   Lo único que puedes hacer es autorizar únicamente a aquellas aplicaciones que necesitas y en las que confíes. Ve a  Configuración > Configuración de Aplicaciones en el menú superior. Cambia en el menú seleccionable la opción Usados Recientemente por Autorizados. Así puedes ver qué aplicaciones has autorizado para acceder a toda tu información del perfil. Elimina todas aquellas que ya no necesitas (en mi caso encontré 64, inútiles todas ellas… qué barbaridad).

10

   También revisa la lista de aplicaciones "Con permisos para publicar" y "Con permisos adicionales concedidos" para eliminar los que no quieres.

10 - ¿Quieres salir de Facebook? Elimina tu cuenta, no sólo la desactives.

   En Facebook es bastante fácil poder desactivar tu cuenta, simplemente yendo al menú Ajustes. Pero la desactivación mantiene toda tu información de perfil en Facebook, incluyendo fotos, amigos, etc. Si lo que en realidad quieres es eliminar permanentemente la cuenta, haz click aquí para enviar una petición de baja.

Ten en cuenta que:

   - Hay un retraso indeterminado entre el envio de la petición y la eliminación real.
   - Si te autenticas en Facebook, la petición se cancela automáticamente.
   - Parece que no hay forma de confirmar si tu petición fue completada.
   - Incluso después de la baja permanente, Facebook dice que copias de tus fotos “pueden permanecer en sus servidores por razones tecnicas”.

   Aparte de todo esto, has de tener en cuenta que de vez en cuando aparecen noticias de fallos de seguridad en Facebook, que pueden exponer tu información privada en Internet. Es mejor evitar usar Facebook para todo lo que pueda causarte problemas y comprometerte, quizás no en estos momentos, pero si más adelante. Todo lo que publiques va a estar ahí por mucho, mucho tiempo.

Escribir comentario

Categoria: Informática, Tecnología

Tips de Supervivencia: Atajos de teclado en Eclipse

Escrito por Juanjo el Saturday, 7 de February del 2009 a las 2:22 am

Después del primer tip de supervivencia sobre la autenticación automática vía SSH (que me permite ahorrar unos cuantos segundos al día) publico este otro sobre los atajos de teclado en Eclipse, para aprovechar una de las características más útiles del editor.

Todos los programas tienen shortcuts (atajos de teclado), y prácticamente todo el mundo utiliza alguno. Probablemente todo el que trabaje con algún entorno de programación hace uso de varios de ellos con total naturalidad, casi sin percatarse. Pero también me he dado cuenta de que hay muchos compañeros de clase que se conforman con muy pocos, casi todos básicos, bien porque no conocen los demás atajos, bien porque no consideran necesario realizar el esfuerzo de aprenderlos y utilizarlos (no solo en Eclipse, sino en otras herramientas: Vim, la Terminal, etc). Bien, yo creo que son indispensables si se desea programar con rapidez y soltura, o manejar las perspectivas/opciones/vistas de Eclipse con celeridad sin tener que hacer uso del ratón, que si bien es más cómodo, nos obliga a retirar las manos del teclado (nuestra herramienta de codificación), haciéndonos perder algunos segundos innecesariamente.

Yo no los aprendí todos de golpe; poco a poco los fui asimilando paulatinamente, conforme alguien me revelaba su existencia y su utilidad. Paso a detallar los shortcuts que utilizo diariamente:

Primero, los más básicos no sólo de Eclipse, sino de cualquier editor (de texto, imágenes, etc):

  • CTRL + X : Cortar la selección.
  • CTRL + C : Copiar la selección.
  • CTRL + V : Pegar la selección.
  • CTRL + Z : Deshacer última acción.
  • CTRL + Y : Rehacer última acción desecha.

Estoy seguro que todos los usamos periódicamente. Es más cómodo también realizar la selección desde el teclado, haciendo uso de SHIFT + Flechas, ayudado de las teclas Inicio, Fin, RevPág, AvPág, y CTRL (Windows/Linux) o ALT (Mac).

Los siguientes son específicos de Eclipse, y son los que contienen la verdadera chicha del tema. Están organizados de mayor relevancia (bajo mi singular y subjetivo punto de vista) a menor:

  • CTRL + BARRA_ESPACIADORA : Autocompletado de metodos/variables/etc.
  • CTRL + SHIFT + R : Búsqueda de un recurso (código fuente, jar, xml, properties…) en los proyectos abiertos (sin tener que ir al explorador de paquete a buscarlo).
  • CTRL + SHIFT + G : Buscar referencias al método/clase en el Workspace. El único caso en que yo prefiero usar el botón derecho -> References -> Proyect, porque si hay muchos proyectos abiertos tarda más en hacer la búsqueda.
  • CTRL + O : Ver métodos/atributos de la Clase.
  • CTRL + D : Eliminar una línea.
  • CTRL + M : Maximizar/Minimizar la ventana activa.
  • CTRL + I : Corregir indentacion.
  • ALT + UP_ARROW / DOWN_ARROW : Subir/Bajar una línea. Respecto a éste, me costó muchísimo quitarme la maña de seleccionar las líneas que deseaba, cortarlas, moverme a donde quería, y pegarlas.
  • CTRL + T : Arbol de Herencia (para ver las clases que implementan una interfaz, por ejemplo).
  • CTRL + F : Búsqueda en el fichero actual.
  • CTRL + H : Buscar en todo el proyecto/workspace (dentro de ficheros java, jars, xmls, htmls, Spring beans…)
  • CTRL + ‘/’ (CTRL + SHIFT + 7): Añadir/quitar comentarios “//”.
  • CTRL + L : Ir a una línea específica.
  • CTRL + SHIFT + L : Ver todos los atajos de teclado.
  • ALT + SHIFT + C : Cambiar la firma del método actual (parámetros, nombre, tipo retornado, etc… los cambia en todas las clases que hagan uso del método).
  • CTRL + AV_PAG / REV_PAG : Siguiente/Anterior pestaña de las abiertas en la ventana activa.
  • CTRL + E : Ver las pestañas de código fuente para seleccionar una.
  • CTRL + ‘+’ (del teclado numérico) : Expandir un bloque entre llaves (cuando solo se muestra la firma).
  • CTRL + ‘-’ (del teclado numérico) : Contraer un bloque (para mostrar sólo la firma).

En modo Debug añadiría también:

  • F5 : Entrar en una llamada.
  • F6 : Ir a la siguiente línea de código (”Step”).
  • F7 : Ir a la sentencia de retorno del método.
  • F8 : Continuar hasta el siguiente breakpoint.
  • CTRL + Q (sobre un elemento) : Inspeccionar estructura y valores del elemento (p.e. una variable).

Hay otros dos atajos que debería usar, pero no lo hago. El primero, porque utilizo CTRL + F, y el segundo, porque sigo usando el ratón (aunque ya me he comprometido conmigo mismo a cambiar esto :P)

  • CTRL + J : Búsqueda incremental (como Firefox).
  • CTRL + 1 : Arreglo rápido. Es equivalente a pulsar sobre la “x” que sale al lado de la línea que contiene errores en el código fuente, sugiriendo soluciones.

Para finalizar, dos apuntes más:

- Todos estos atajos son configurables; pueden ser adaptados a nuestras preferencias personales. En Windows->Preferences->General->Keys está la lista de todos los ellos y su configuración asociada
.
- Existe un Plugin para Eclipse llamado MouseFeed que te muestra el shortcut asociado a una acción que se lleve a cabo con el ratón, de tal forma que así podemos aprender nuevas funcionalidades en el teclado para irnos desprendiendo de Mickey.

¿Usas algún atajo más? Compartelo con todos en un comentario ;)

Bonus Tip: escribir “syso” y luego hacer uso del shortcut de autocompletado (CTRL + Barra Espaciadora) nos da como resultado “System.out.println(”");. Ahi lo dejo, aunque como todos somos buenos programadores, los mensajes los imprimimos usando loggers, y la consulta de valores de variables lo hacemos mediante el debugger, ¿no? :P:P

Comentarios (1)

Categoria: Coding, Informática, Tips Supervivencia

El software del futuro: NaDa 0.5

Escrito por Juanjo el Thursday, 5 de February del 2009 a las 12:21 am

Ni Windows 7, ni Mac X Snow Leopard, ni Ubuntu 9. El Software del futuro ya esta aquí y se llama NaDa. Como su descripción explica, “NaDa does nothing for everybody”. Sin bugs, sin problemas de soporte, sin documentación que empollarse… sin problemas. Nada de Nada.

Una maravilla. Y si estás preocupado por el espacio que ocupa en Disco, ¡olvídate! Sólo necesitarás un byte de espacio en el disco duro. Como lo oyes, un mísero byre. ¡Si hasta los iconos molestos del Messenger que utilizas para incordiar a tus amigos ocupan más!

Descárgalo ya y empieza a disfrutar de la experiencia. ¿A qué esperas?

(¿Momento iJam?)

Escribir comentario

Categoria: Humor, Informática

Sabiduría Popular I: Problemas

Escrito por Juanjo el Wednesday, 4 de February del 2009 a las 11:55 pm

“Algunas personas, cuando se encuentran con un problema, piensan «Ya lo tengo!, usaré expresiones regulares». En ese momento ya tienen dos problemas“.

Oído decir por Jamie Zawinski, desarrollador de NetScape. Yo lo vi en Intenta.

Escribir comentario

Categoria: Coding, Humor, Informática, Sabiduría Popular

Test Técnico de Java

Escrito por Juanjo el Monday, 2 de February del 2009 a las 3:50 pm

No me acuerdo exactamente donde fue que encontré las siguientes preguntas, pero si son verídicas, soy un completo ignorante (por cierto, no es lo mismo intuirlo que corroborarlo). Al parecer, son preguntas que se hacen en la parte “técnica” de las entrevistas de trabajo para ingenieros informáticos en el Reino Unido. Son bastante bastante concretas sobre Java… y no sé ni una. Creo que me queda mucho que estudiar para aspirar a las certificaciones Sun…

Aquí van las preguntas (en inglés):

1- Troubleshoot the following class that is producing performance errors on the site:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.blah.dataaccess;  
 
import java.sql.*; 
import javax.sql.*;  
import com.blah.data.*;  
 
public class GetFormats {   	
 
   private Connection con;  	
 
   public static String GetFormat(String user) 	{ 	 		
      String format = "mpeg4_150k";
      try {
         con = ConnectionFactory.getConnection();
         String sql_string = "select wfmt_urlroot from wprf, wfmt where wprf_value = wfmt_id and wprf_type = 'bandwidth' and wprf_wusr_id = ?";
         PreparedStatement pstmt = con.prepareStatement(sql_string);
         pstmt.setString(1, user);
         ResultSet rs = pstmt.executeQuery();
         if (rs != null) {
            while (rs.next()) { 
               format = rs.getString(1);
            }
         }
      } catch (SQLException e) {
          String error = ""+ e.toString();
      }
      return formats;
      }
   }
}

2- What’s wrong with the following Tag:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.blah.webui;  
 
import java.sql.*; 
import java.lang.*; 
import java.util.*; 
import java.net.URLEncoder;  
 
public class OutputFooter extends TagSupport {
 
   public String Footer() {
      String html = "";
      html = html + "</body></html>";
      return html;
   }
 
   public int doStartTag() throws JspException {
      try {
         // and write out the formatted content to the page
         pageContext.getOut().write(Footer());
      } catch (java.io.IOException ioe) {
         throw new JspTagException(ioe.getMessage());
      }
      // and skip evaluating the body of the tag (as there shouldn't be one)
      return SKIP_PAGE;     
   }
}

3- If you need to obtain and return the referring URL into a JSP page, how would you do it?

4- Describe how you would set up servlet mappings in Tomcat or any other J2EE servlet container, what would you do to involve Apache in this process to provide a unified URL convention for static and dynamic elements of the site.

5- Describe the steps involved in making Apache and a servlet container such as Tomcat work together. Discuss the relative merits of mod_jk and mod_proxy.

6- Discuss the differences between redirection and forwarding in the Java server environment within a cluster, between servers in a cluster and between sites.

7- Describe how serving of static and dynamic fragments can best be done in a clustered environment for high efficiency under high load with maximum availability.

8- The company has decided to settle on memcached to provide a distributed cache store. Describe how you would create a set of custom tags to provide an interface to memcached to provide for creating, updating, invalidating and retrieving cached items.

9- Explain the steps, giving references to libraries you would use, to enable elements from a content management system to connect with XML-RPC services to provide pings.

10- What’s your preferred way of parsing incoming XML and why?

11- Describe the stages involved in getting Ant, subversion and Eclipse working together to automatically build a tree from a subversion repository and deploy it to Tomcat.

12- Discuss the relative merits of

<c:import>

and

<jsp:include>

13- Discuss the difference between a custom tag which supports EL and one which supports RT.

14- Describe (with code examples if possible) how you would use an EL based JSP fragment to iterate through a simple XML file and make decisions based on the values of certain nodes.

15- The introduction of JSR-220 brought with it JPA. Hibernate is an open source ORM solution. Briefly describe, with a small example if possible, the impact JPA has had on the Hibernate project, and what steps would need to be taken to convert an existing hibernate project to conform with the JPA specification in JSR-220. What advantages to would this conversion bring?

16- When using a persistence layer within a multi-threaded environment which has the potential for a long object lifetime, special precautions must be made to ensure the system can maintain a high degree of concurrency, and also work correctly in a clustered environment. Give a short explanation of the problem domain and a potential high-level solution.

17- Explain the following method signature:

<T extends Myobject> T getMyobject(Class<T> MyObjectType);

18- Explain the difference between phantom, soft, strong and weak references and give a context they would be used in.

19-Diagnose the following exception, found in the tomcat catalina.out file:

java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.1.244:80 connect,resolve) 
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) 	
        at java.security.AccessController.checkPermission(AccessController.java:427) 	
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
 	at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
 	at sun.net.www.http.HttpClient.openServer(HttpClient.java:459)
 	at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
 	at sun.net.www.http.HttpClient.New(HttpClient.java:287)
 	at sun.net.www.http.HttpClient.New(HttpClient.java:299)
 	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:796)
 	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:748)
 	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:673)
 	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:917)
 	at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireReader(ImportSupport.java:331) 
.......

20- Design a simple three database table structure which would allow the creation, editing and publication of a webpage stored in a content management system.

Concurrencia, clústering, parsing XML, diseño DB, Templates….. En pocas palabras, la-le-che :P

Escribir comentario

Categoria: Coding, Informática

Comentarios Recientes
  • débora: te eché de menos :-(
  • Roger: Gracias, nos veremos, soy este chico en ropas blancas y un sombrero :-)
  • Roger: Ustedes ya saben que dia sera Los Indianos este ano?
  • Sergio: Mamonazo!! como es posible que si busco en google “los indianos 2010″ tú blog sea el 2º...
  • Jose Frechín: Hace poco estuve tentado de usarlo, pero claro, soy un vago y eso de bajarme los archivos y luego...
  • Óscar: Juanjo eres un grande tio!!! de mayor (cuando acabe la técnica) quiero ser como tú
  • Juanma: Sip, se podría decir que sip !!!!
  • Juanma: En cuanto pases por esta situación seguro que no te hace la misma gracia :p .. Saludos !!
  • Fer Martin: jajajajaja tio se sale!!! me la parto con el ajedrez!! :-)


All's clear