miércoles, 21 de abril de 2010

Twitear en el desierto: Consejos para Twitteros novatos

Twittea lo que quieras pero de vez en cuando escribe algo que sea útil

A menos que seas Calleja, un twittero que escribe lo que está haciendo cada 2 segundos puede llegar a molestar y hacer que sus followers dejen de serlo. Y aún así yo no seguiría a Calleja.

Seguro que has visto o has leído algo que puede ser más interesante que un twit del tipo: esperando el autobús y no llega, parece que va a llover.

Eres dueño del tuiteo que callas, y esclavo del que escribes

No es necesario tener una opinión sobre cada cosa que se diga, si hay algo que te pareció interesante, coméntalo. Si crees que vas a meter la pata mejor quédate callado.

Pero ten en cuenta, que Twitter es participación

Si alguien que sigues hace una pregunta, respóndele, comparte tus conocimientos.

Si alguien necesita ayuda, dásela o bien dile quien podría dársela.

Haz RT de los twits que te gustaron pero no seas cansino.

Preséntate a tus followers y no dudes en acudir a ellos en busca de ayuda.

Agradece, a quien no le gusta recibir un “Gracias!”

Agradece los RT de tus followers así como también cada vez que recibas ayuda o una respuesta a una pregunta.

Pero, como leí en un twit, ves más allá, y si alguien te hace un RT, agradécele en RT haciendo un RT de un twit suyo.

Sé generoso

Este twit lo dice todo, ¿Por qué en todos los artículos se dice lo q se puede obtener de usar Twitter, pero en ninguno lo que se puede ofrecer?

Esto es una red social, recuerda el dicho el que da recibe. Quién tiene un follower tiene un tesoro.
Compartir tus conocimientos y las cosas que creas útiles con tus followers será recordado por ellos y por sus followers

Existe vida más allá de Twitter, disfrútala

Visita los enlaces en los perfiles de tus followers

Lee y comenta en sus blogs

Desvirtualiza a tus followers siempre que puedas

No te obsesiones por el número de followers

Es mejor calidad que cantidad. Es mejor tener un grupo reducido de followers activos, con los que conversar y debatir temas a diario, que una infinidad de ellos pero que cuando twiteas parace que lo hagas en el desierto.

Dedicado a @cosechadel66, a @fmlopez48 y al resto de twitteros.

Visor de perfiles de Twitter hecho en Java

Usando la API de Twitter y mis conocimientos de Java y XML he creado un visor de perfiles de Twitter.

Por defecto sale mi perfil de Twitter: neteros2009



Pero intruciendo el nick del twittero del que quereis ver el perfil y dando al botón Ver perfil en cuanto carga los datos de internet los muestra por pantalla.

La aplicación es muy simple y muy chorra, pero seguro que a alguien le puede resultar útil.

No me gusta la mala resolución del avatar, pero es tema de la API y no puedo hacer nada.

Link de descarga del programa en Java Twisor. Está en freakshare que aunque te hace esperar si no tienes cuenta con ellos, por lo menos no hay problemas de cuotas de descarga.

jueves, 15 de abril de 2010

Códigos Java

En el blog de noticias geek he incluido varios códigos Java.

También os recomiendo pasaros por el rincón del conocimiento para ver ofertas de empleo de informática para Barcelona.

el rincón del conocimiento dispone de una sección con consejos para superar los test psicotécnicos típicos de entrevistas de trabajo y de oposiciones.

jueves, 11 de febrero de 2010

Me he pasado al enemigo

Pues eso, que me he apuntado al curso de Java de la Violeta y me instalado el eclipse con el editor Visual

http://www.taringa.net/posts/taringa/2209428/Eclipse-3_4_1-+-VE-(visual-editor)-listo-para-trabajar.html

En el vista, no me ha pedido ni el JRE ni el JDK. Si da error al ejecutarlo hay que descargarselos de la página de Sun.

Abres un nuevo java project y luego vas a src default package y con el botón derecho creas una Visual Class (La más sencilla es la Swing -> Frame).

Buscas un triangulo en la parte donde sale el form que pone SHOW PALETE cuando pasas por encima.

Cosas importantes (que así no te tienes que tirar una hora investigando):
- Mirarse en Google el tema de los Layouts
- Mirarse en Google el tema de los eventos (el del botón se llama: actionPerformed)
- Tiene intellisense pero hay que estar muy atento a mayúsculas y minúsculas

Mi primera Clase Visual en Java:

import javax.swing.*;
import java.awt.*;
import javax.swing.ImageIcon;
import java.awt.event.KeyEvent;
import java.awt.Color;

public class Form1 extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JTextField num1 = null;
private JButton btnSumar = null;
private JLabel label2 = null;
private JTextField num2 = null;
private JTextField resultado = null;
private JLabel label1;

/**
* This method initializes num1
*
* @return javax.swing.JTextField
*/
private JTextField getNum1() {
if (num1 == null) {
num1 = new JTextField();
num1.setText("0");
num1.setHorizontalAlignment(JTextField.RIGHT);
num1.setPreferredSize(new Dimension(100, 20));
num1.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
num1.selectAll();
}
});
}
return num1;
}

/**
* This method initializes num2
*
* @return javax.swing.JTextField
*/
private JTextField getNum2() {
if (num2 == null) {
num2 = new JTextField();
num2.setPreferredSize(new Dimension(100, 20));
num2.setHorizontalAlignment(JTextField.RIGHT);
num2.setText("0");
num2.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
num2.selectAll();
}
});
}
return num2;
}

/**
* This method initializes btnSumar
*
* @return javax.swing.JButton
*/
private JButton getBtnSumar() {

if (btnSumar == null) {
btnSumar = new JButton();
btnSumar.setText("Sumar");
btnSumar.setIcon(new ImageIcon(getClass().getResource("/plus_icon.gif")));
btnSumar.setPreferredSize(new Dimension(100, 20));
getRootPane().setDefaultButton(btnSumar);
btnSumar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
try{
int valor = Integer.parseInt(num1.getText()) +
Integer.parseInt(num2.getText());
resultado.setText(valor+"");
}catch (Exception ex){
JOptionPane.showMessageDialog(null,
"Error al intentar sumar los campos, compruebe los valores",
"Error",
JOptionPane.INFORMATION_MESSAGE);
}
}
});
}
return btnSumar;
}

/**
* This method initializes resultado
*
* @return javax.swing.JTextField
*/
private JTextField getResultado() {
if (resultado == null) {
resultado = new JTextField();
resultado.setPreferredSize(new Dimension(100, 20));
resultado.setHorizontalAlignment(JTextField.RIGHT);
resultado.setEditable(false);
resultado.setBackground(Color.white);
resultado.setText("0");
}
return resultado;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Form1 thisClass = new Form1();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}

/**
* This is the default constructor
*/
public Form1() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 126);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
label2 = new JLabel();
label2.setText("Segundo Número:");
label2.setPreferredSize(new Dimension(100, 20));
label1 = new JLabel();
label1.setText("Primer Número:");
label1.setPreferredSize(new Dimension(100, 20));
jContentPane = new JPanel();
jContentPane.setLayout(new GridLayout(3,3));
jContentPane.add(label1,null);
jContentPane.add(getNum1(), null);
jContentPane.add(label2, null);
jContentPane.add(getNum2(), null);
jContentPane.add(getBtnSumar(), getBtnSumar().getName());
jContentPane.add(getResultado(), null);
}
return jContentPane;
}

} // @jve:decl-index=0:visual-constraint="10,10"