martes, 13 de diciembre de 2011

Compartir una impresora matricial en Windows con el comando "net use"


Eliminar el enlace para lpt1

net use lpt1 /D

Setear en el enlace lpt1 la impresora de la red

net use lpt1 \\esx-administration\EPSONFX880

viernes, 11 de noviembre de 2011

UFO: Alien Invasion

Todavía no lo probé pero parece interesante.

Hay instaladores para linux, windows y mac.

Link: http://sourceforge.net/projects/ufoai/

jueves, 3 de noviembre de 2011

Los mejores clientes GUI para GIT

GIT COLA
Bueno para committing/pushing
git cola

GITK
La mejor alternativa para examinar la historia
gitk

GIGGLE
Excelente para ver las diff

giggle

Cómo registrar manualmente un control ActiveX (.ocx)

Registrar el archivo

Inicio | Ejecutar | regsvr32 file.ocx

lunes, 24 de octubre de 2011

Modificar la variable AUTO_INCREMENT

Ejecutar

ALTER TABLE table1 AUTO_INCREMENT = 1000;


Donde table1 es la tabla sobre la que estamos trabajando

sábado, 22 de octubre de 2011

Videotutoriales de Grails Nivel Inicial


VideoJS un Reproductor de Videos en HTML5






Es open source y esta muy bueno tiene un monton de configuraciones y esta muy practico para comenzar a familiarizarse con HTML5

Instalar Grails en Linux

1) Primero agregamos los repositorios

sudo add-apt-repository ppa:groovy-dev/grails
sudo apt-get update  


2) Instalamos la plataforma

sudo apt-get install grails  

3.A) Para Grails 2.0.0 M2

sudo apt-get install grails-2.0.0  

3.B) Para Grails 1.3.x

sudo apt-get install grails-1.3.x  

3.C) Para Grails 1.2.5

sudo apt-get install grails-1.2.5  

4) Cambiar entre versiones

sudo update-alternatives --config grails  

viernes, 21 de octubre de 2011

Escuchar Radios Online en Uruguay



Nombre de la radio Frecuencia Pagina web Link para Escuchar
Del Plata 95.5 FM
Sport 890 AM

Milk & Sugar vs. Vaya Con Dios - Hey (Nah Neh Nah)



Instalacion de el Escaner Mustek 1200 UB PLUS en Linux (Ubuntu)

Instalamos xsane

sudo apt-get install xsane   

Vamos al directorio:

cd /usr/share/sane/gt68xx   

Bajamos el firmware

sudo wget http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb   

Editamos el archivo

sudo gedit /etc/sane.d/gt68xx.conf   

Sustituimos la linea

#override "mustek-scanexpress-1200-ub-plus"   

Por

override "mustek-scanexpress-1200-ub-plus"   

Con esas instrucciones al abrir xsane detectara nuestro escaner y podremos empezar a utilizarlo

miércoles, 19 de octubre de 2011

Date a String en Java

Convertir un Date de Java a un String, que podriamos utilizar tranquilamente en un INSERT de MySQL

java.text.SimpleDateFormat date_format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String created_at = date_format.format(new Date());

Borrar el cache de netbeans

Hay ocaciones en que netbeans empieza a realizar mal ciertas acciones como la refactorizacion, la ejecucion de una aplicacion presenta problemas de compilacion pero no vemos los errores.

Un intento de solucionar los numerosos bugs que se aparecen de rrepente es la limpieza del cache.

En linux
home/{username}/.netbeans/x.x/var/cache

En Windows
x:\Documents and Settings\{username}\.netbeans/x.x/var/cache

Tomar la posicion del mouse inline en Java

Un metodo estatico inline muy util a la hora de tomar las coordenadas del putero para posicionar componentes, etc.

Point p = MouseInfo.getPointerInfo().getLocation();
System.out.println("x="+p.x+", y="+p.y);

martes, 18 de octubre de 2011

Cambiar hostname en Ubuntu

Presiona ALT+F2

Ejecuta gksu gedit /etc/hostname

--
darkstar
--


Edita el archivo y sustituye el nombre por el deseado

Presiona ALT+F2

Ejecuta gksu gedit /etc/hosts

--
127.0.0.1 localhost
127.0.1.1 darkstar

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

--


Edita el archivo y sustituye el nombre por el deseado

Listo!

viernes, 14 de octubre de 2011

Activar el modulo mod_rewrite en Apache

1) Instalamos el modulo

  Link: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

2) Buscamos el archivo

  /etc/httpd.ini

3) Verificamos que existe la linea

  LoadModule rewrite_module modules/mod_rewrite.so

4) Modificamos AllowOverride poniendo All

  <Directory />
    Options FollowSymLinks
    AllowOverride All
    #XAMPP
    #Order deny,allow
    #Deny from all
  </Directory>


Listo!

Gource


Visor de control de versiones, ver de manera representativa la evolución de nuestro proyecto o cualquier otro.

Logstalgia, Efectos Pong! para ver el log de nuestro servidor web


Impresionante aplicación visual para divertirnos mirando el antiguo juego Pong representando las peticiones y respuestas de nuestro servidor web.

Link: http://code.google.com/p/logstalgia/

miércoles, 12 de octubre de 2011

Notas Twitter

Recursos
https://twitter.com/about/resources

Botones
https://twitter.com/about/resources/tweetbutton

Notas de Facebook

Reference Link

http://developers.facebook.com/docs/reference/plugins/like/

Ranking los 25 mejores CMS de todos los tiempos

Les presento los mejores 25 CMS de todos los tiempos (a mi criterio ta!)

Drupal (Php)
Joomla (Php)
Wordpress (Php)
Magento (Php) (e-commerce)
Alfresco (Java)
ExpressionEngine
Magnolia
Ellington CMS (Django)
TypeRoom
CushyCMS
Reflect
SilverStripe (Php + Sapphire framework)
Frog CMS (PHP version of Radiant CMS)
Gelato CMS (Ajax + Php)
Radiant Cms (Ruby on Rails)
Shopify
Symphony (XML/XSL)
Graffiti CMS (.NET)
TYPOlight (Php5)
Sava CMS (Coldfusion)
Ekklesia 360 (for churches)
dotCMS (Java)
Solucija (single php file?)
CMS Made Simple (Php)

Módulos que no puedes dejar de tener en tu sitio Drupal

Google Analitics : http://drupal.org/project/google_analytics
XML Sitemap : http://drupal.org/project/xmlsitemap
  Site verification : http://drupal.org/project/site_verify

Notas sobre el botón +1 de Google


Pagina para generar nuestro propio botón +1

Link: http://www.google.com/webmasters/+1/button/

Codigo para Valores Transient en una entidad

...entity code...

@Transient
private int age;

public int getAge() {
  Calendar today = Calendar.getInstance();
  Calendar date_of_birth = Calendar.getInstance();
  date_of_birth.setTime(this.getDateOfBirth());
  int diff_year = today.get(Calendar.YEAR) - date_of_birth.get(Calendar.YEAR);
  int diff_month = today.get(Calendar.MONTH) - date_of_birth.get(Calendar.MONTH);
  int diff_day = today.get(Calendar.DAY_OF_MONTH) - date_of_birth.get(Calendar.DAY_OF_MONTH);
  if (diff_month < 0 || (diff_month == 0 && diff_day < 0)) {
    diff_year = diff_year - 1; //no aparecían los dos guiones del postincremento :|
  }
  return diff_year;
}



...entity code...

martes, 11 de octubre de 2011

Expresiones regulares en Java

Remplazar con Expresiones Regulares


"1.3.5.7.9-0".replaceAll(".", " ")
OUTPUT: null


"1.3.5.7.9-0".replaceAll("[.]", " ")
OUTPUT: 13579-0

"1.3.5.7.9-0".replaceAll("[.]|-", " ")
OUTPUT: 135790

Método para redondear en Java

Método para redondear un numero con dos decimales en java
Mucho hay por ahi pero ninguno como este xD


public static float round(float valor){
String val = valor+"";
BigDecimal big = new BigDecimal(val);
big = big.setScale(2, RoundingMode.HALF_UP);
return Float.parseFloat(String.valueOf(big));
}

Creando una Maquina Virtual con Android

Instalar VirtualBox.

Bajar desde http://www.android-x86.org/download | http://code.google.com/p/android-x86/ un iso generico.

Crear en VIrtualBox una VM basada en linux 2.6/Other 512/1024 RAM, Network: PCNet-Fast III attached NAT o DHCP.

Instalar Android montando el iso en la maquina virtual como si de una instalacion corriente se tratase.

Presiona Alt+F1, typear netcfg, obten el IP, presiona Alt+F7.

Ejecuta Android tools, tipeando adb connect <maquina_virtual_ip>

Inicia Eclipse, ejecuta ADT plugin y busca el dispositivo.

lunes, 10 de octubre de 2011

Guia paso a paso para comenzar con Android desde Eclipse

Instalamos Eclipse Clasic

link: http://www.eclipse.org/downloads/

En linux (Ubuntu/Debian)
$ sudo apt-get install eclipse



Instalamos el ADT en Eclipse



Ahora necesitamos la plataforma de desarrollo Android

link: http://developer.android.com/sdk/eclipse-adt.html

$ wget http://dl.google.com/android/android-sdk_r13-linux_x86.tgz
$ tar -xvzf android-sdk_r13-linux_x86.tgz
$ cd android-sdk_r13-linux_x86
$ ./toold/android


En AVD Manager
seleccionamos alguna plataforma SDK en "Android Repository" y instalamos.

Creamos un dispositivo

En eclipse seteamos la plataforma

Eclipse > Windows > Preferences > Android

SDK Location : "la direccion a el sdk instalado en el paso anterior"

Comenzamos a programar
Primer "Hola Android"

domingo, 9 de octubre de 2011

Seteando Look and Feel en Java

Metodo para setear look and feel en java



try {
  for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {

    if ("Nimbus".equals(info.getName())) {  
      UIManager.setLookAndFeel(info.getClassName());
      SwingUtilities.updateComponentTreeUI(this);
      break;
    }
  }
} catch (ClassNotFoundException ex) {// error!
} catch (InstantiationException ex) {// error!
} catch (IllegalAccessException ex) {// error!
} catch (javax.swing.UnsupportedLookAndFeelException ex) {// error!
}


Donde SwingUtilities.updateComponentTreeUI(this); actualiza la jerarquía de nivel superior.

Java look and feel


Seaglass
Basado en Nimbus

link: http://code.google.com/p/seaglass/

Quaqua Look And Feel


Como usar mis propias fuentes en mis aplicaciones java



Despliegue de la fuente
Copiar el archivo ttf dentro del paquete de la aplicacion

Cargar la fuente
Cargamos la fuente con el metodo java.awt.Font.createFont() 
En el caso que el tamaño sea de 1 punto utilizamosjava.awt.Font.deriveFont(float)para cambiar el tamaño de esta.

InputStream fin = this.getClass().getResourceAsStream("Asimov.ttf");
  this.asimov = Font.createFont ( // Load font from InputStream fin
    Font.PLAIN,
    fin
  ).deriveFont(24f);



Uso
Al final para utilizar la fuente utilizamos el metodo java.awt.Component.setFont();

second.setFont(this.asimov);

miércoles, 5 de octubre de 2011

Sacarle la sensibilidad de mayúsculas a MySQL


Editar el archivo my.ini
Agregar la linea lower_case_table_names=0 despues de [Generals]
--/etc/mysql/my.cnf--



[mysqld]
#
# * Basic Settings
#
lower_case_table_names = 1

----



ValorSignificado
0Los nombres de tablas y bases de datos se almacenan en disco usando el esquema de mayúsculas y minúsculas especificado en las sentencias CREATE TABLE o CREATE DATABASE. Las comparaciones de nombres son sensibles a mayúsculas. Esto es lo predeterminado en sistemas Unix. Nótese que si se fuerza un valor 0 con --lower-case-table-names=0 en un sistema de ficheros insensible a mayúsculas y se accede a tablas MyISAM empleando distintos esquemas de mayúsculas y minúsculas para el nombre, esto puede conducir a la corrupción de los índices.
1Los nombres de tablas se almacenan en minúsculas en el disco y las comparaciones de nombre no son sensibles a mayúsculas. MySQL convierte todos los nombres de tablas a minúsculas para almacenamiento y búsquedas. En MySQL 5.0, este comportamiento también se aplica a nombres de bases de datos y alias de tablas. Este valor es el predeterminado en Windows y Mac OS X.
2Los nombres de tablas y bases de datos se almacenan en disco usando el esquema de mayúsculas y minúsculas especificado en las sentencias CREATE TABLE o CREATE DATABASE, pero MySQL las convierte a minúsculas en búsquedas. Las comparaciones de nombres no son sensibles a mayúsculas. Nota: Esto funciona solamente en sistemas de ficheros que no son sensibles a mayúsculas. Los nombres de las tablas InnoDB se almacenan en minúsculas, como cuando lower_case_table_names vale 1.


Véase: http://dev.mysql.com/doc/refman/5.0/es/name-case-sensitivity.html

Recuperar clave de root en MySQL

Como recuperar la clave de root en MySQL desde linux

Detener el servidor

$ sudo service mysql stop
ó
# /etc/init.d/mysql stop


Iniciar el servidor en modo "sin privilegios", no solicitara clave para conectarse desde un cliente

$ sudo mysqld_safe --skip-grant-tables &

ó
# mysqld_safe --skip-grant-tables &


Iniciar como root

# mysql -u root


Actualizar la clave

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit


Salir del cliente, detener el servidor

# /etc/init.d/mysql stop


y Finalmente reiniciar el servidor normalmente

# /etc/init.d/mysql start
# mysql -u root -p




Referencias:
[0] http://dev.mysql.com/doc/refman/5.0/es/resetting-permissions.html

viernes, 30 de septiembre de 2011

Emacs

Iniciar Emacs en modo consola

$ emacs -nw

Compara Fechas en Hibernate

Ejemplo de codigo para comparar fechas en hibernate utilizando "between" en una sentencia hsql


Ejemplo 1 between

String queryHQL = "SELECT i FROM Invoice i WHERE i.invoiceDate between :fromdate and :todate";
query = entityManager.createQuery(queryHQL);

query.setParameter("fromdate", jXDatePicker1.getDate());

query.setParameter("todate", jXDatePicker2.getDate());


Ejemplo 2



Calendar cal = Calendar.getInstance();
Date today = cal.getTime();
cal.add(Calendar.DAY_OF_YEAR, -1);
Date yesterday = cal.getTime();


query = entityManager.createQuery("SELECT C FROM CaseHeader C WHERE  C.createdAt between :_yesterday and :_today");
query.setParameter("_yesterday", yesterday);
query.setParameter("_today", today);

Imprimir o abrir un archivo externo desde Java

Simple y elegante

Debemos de poder desde el mismo Sistema Imprimir el documento, de lo contrario es inutil realizar la invocación desde java.

try {
    File f = new File("file path");
        


    java.awt.Desktop.getDesktop().open(f);
    java.awt.Desktop.getDesktop().print(f);


} catch (IOException ex) {
    // do something
}

miércoles, 28 de septiembre de 2011

Ruby on Rails

Ruby On Rails
Lista de recursos varios para aprendizaje de RoR

Sitio Oficial
http://rubyonrails.org/


API
http://api.rubyonrails.org/

Casts

Configuración de MySQL para aceptar conexiones remotas


Paso a paso para la puesta en marcha de un servidor MySQL y posterior configuración para compartir la conexión desde un medio externo.

Instalamos el servidor

$ sudo apt-get install mysql-server

La ruta de los archivos de configuración de MySQL estan en /etc/mysql/
Seteamos el password root

$ mysql -u root

mysql> SET PASSWORD FOR 'ROOT'@'LOCALHOST"
> = PASSWORD('password');


Ahora agregamos permisos y le permitimos acceder desde cualquier HOST

$ mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
       > IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit


Reiniciamos el demonio

$ sudo service mysqld restart


Editamos el archivo de configuración.

$ sudo vi /etc/mysql/my.cnf


Comentamos esta linea

#bind-address = 127.0.0.1


Ahora finalmente tendremos nuestro servidor con acceso externo para el usuario al que le definimos los permisos.

Una maravilla!!!