Aprendizaje automático en Stanford

stanford-logoEl aprendizaje automático es una rama de la Inteligencia Artificial, que tiene como objetivo el desarrollo de sistemas que sean capaces de aprender a partir de la experiencia. Las técnicas de aprendizaje automático puedes usarse en muchos campos. Por ejemplo, sistemas de recomendación (como Amazon), biología, juegos, medicina…

Si estás interesado en aprender acerca de aprendizaje automático, deberías visitar el canal de Youtube de la Universidad de Stanford, ya que allí podrás encontrar un curso completo sobre este tema. Esta es la información del curso:

This course (CS229) provides a broad introduction to machine learning and statistical pattern recognition. Topics include supervised learning, unsupervised learning, learning theory, reinforcement learning and adaptive control. Recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing are also discussed.

JScrollPane, JTable y scroll horizontal

Estaba implementando una interfaz gráfica con Java, y quería insertar un objeto JTable dentro de un JScrollPane. La tabla era más grande que el JScrollPane, pero pese a ello, no se porqué sólo se mostraba el scroll vertical. Gasté mucho tiempo leyendo manuales de Swing, revisando mi código… Era algo muy simple y todo parecía estar bien, pero entonces… ¿por que no funcionaba?

Finalmente, encontré la solución: resulta que hay un bug en Java que aparece cuando quieres usar una JTable dentro de un JScrollPane. La solución fue crear una clase que extendiera a JTable, para poder sobreescribir el método JTable.getScrollableTracksViewportWidth() por este otro:

public boolean getScrollableTracksViewportWidth() {

if (autoResizeMode != AUTO_RESIZE_OFF) {

if (getParent() instanceof JViewport) {

return (((JViewport)getParent()).getWidth() > getPreferredSize().width);

}

}

return false;

}

Fuente: DaniWeb Forum

Error 500 en Wordpress

Después de esto, he aprendido que es conveniente desactivar todos los plugins antes de actualizar Wordpress automaticamente. No recuerdo cuando hice la última actualización, pero parece que la versión en inglés de este blog ha estado offline desde entonces.

Esta mañana quería leer un artículo del blog, y al entrar lo que veía era un mensaje de “Error 500″. Lo primero que hice fue intentar entrar en Wordpress, y no tuve problema. Despues probé a desactivar los plugins, por si alguno estuviera dando problemas, y tampoco funcionó. Lo siguiente que hice fue consultar el log de Apache, y esto fue lo que encontré:

SoftException in Application.cpp:252: File “/home/xxxxx/public_html/blog/index.php” is writeable by group

Ahí estaba: un problema de permisos. Así que usando Cyberduck (aunque cualquier programa de FTP sirve), lo arreglé, eliminando los permisos de escritura para Grupo y Otros:

Permisos Cyberduck

Nota: hay que aplicar este cambio a todos los archivos y directorios. En mi caso, marqué la opción “Aplicar cambios recursivamente”, pero todas las aplicaciones de FTP tienen que tener una opción similar.

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.