tag:blogger.com,1999:blog-23275326400371137932024-03-13T10:40:39.352+01:00VRSEste blog va de pequeñas 'notas' sobre cosas que hago en mi trabajo, desde trozos de código, noticias que me impacten, informática, java, struts, ruby, programación, cmmi, gestión de proyectos.Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.comBlogger100125tag:blogger.com,1999:blog-2327532640037113793.post-47450334454292750532013-03-12T12:19:00.005+01:002013-03-12T12:24:00.213+01:00Hibernate InvalidMappingExceptionTrabajando con Hibernate, en una relación 1-n bidireccional, obtuve un error en un mapeo<br />
<br />
SLF4J: Defaulting to no-operation (NOP) logger implementation<br />
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.<br />
Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Could not parse mapping document from resource comentario1nbi.hbm.xml<br />
Exception in thread "main" java.lang.NullPointerException<br />
at com.blog.dao.PostDAO.crearPost(PostDAO.java:48)<br />
at com.hib.TestHibBlog.main(TestHibBlog.java:26)<br />
<br />
<br />
<b><br /></b>
<b>Esto surgía, porque en comentario1nb1.hbm.xml había puesto como name el nombre de la tabla, y debe ser el del VO</b><br />
<many-to-one column="idPost" name="post1nBi" nbsp=""></many-to-one><br />
<b> <many-to-one name="postVO" column="idPost" /></b><br />
<br />
<br />
<br />
<?xml version="1.0"?><br />
<!DOCTYPE hibernate-mapping PUBLIC<br />
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><br />
<br />
<hibernate-mapping><br />
<class name="com.blog.vo.Comentario1nBiVO" table="comentarios1nBi"><br />
<id name="id" type="int" column="id" ><br />
<generator class="identity"/><br />
</id><br />
<br />
<property name="cuerpo"><br />
<column name="cuerpo" /><br />
</property><br />
<property name="fecha"><br />
<column name="fecha"/><br />
</property><br />
<br />
<!-- muchos comentarios pertenecen a un post<br />
indico el nombre del atributo dentro<br />
de Comentario1nBiVO al cual haré referencia<br />
con mi clave. <br />
La columna es la columna de posts, que es clave. --><br />
<b> <many-to-one name="postVO" column="idPost" /></b><br />
</class><br />
</hibernate-mapping><br />
<br />
<br />
<br />
<?xml version="1.0"?><br />
<!DOCTYPE hibernate-mapping PUBLIC<br />
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><br />
<br />
<hibernate-mapping><br />
<class name="com.blog.vo.Post1nBiVO" table="posts1nBi"><br />
<id name="id" type="int" column="idPost" ><br />
<generator class="identity"/><br />
</id><br />
<br />
<property name="idAutor" type="int" column="idAutor"/><br />
<br />
<property name="fecha"><br />
<column name="fecha" /><br />
</property> <br />
<property name="titulo"><br />
<column name="titulo" /><br />
</property><br />
<property name="contenido"><br />
<column name="contenido"/><br />
</property><br />
<br />
<list name="comentarios" cascade="all-delete-orphan"> <br />
<key column="idPost" /><!-- cuál columna de la tabla post será la clave externa --> <br />
<index column="ORDEN" /> <!-- para guardar en el mismo orden, una columna nueva --><br />
<!-- ahora sí indico que hay una relación de 1 a n --><br />
<one-to-many class="com.blog.vo.Comentario1nBiVO" /> <br />
</list><br />
<br />
</class><br />
</hibernate-mapping><br />
<br />
<br />
<br />
<br />
package com.blog.vo;<br />
<br />
import java.util.Date;<br />
<br />
public class Comentario1nBiVO {<br />
private int id;<br />
private String fecha;<br />
private Post1nBiVO postVO;<br />
<br />
<br />
public Comentario1nBiVO() {<br />
super();<br />
// TODO Auto-generated constructor stub<br />
}<br />
public Comentario1nBiVO(String fecha, String cuerpo) {<br />
super();<br />
this.fecha = fecha;<br />
this.cuerpo = cuerpo;<br />
}<br />
private String cuerpo;<br />
/**<br />
* @return the id<br />
*/<br />
public int getId() {<br />
return id;<br />
}<br />
/**<br />
* @param id the id to set<br />
*/<br />
private void setId(int id) {<br />
this.id = id;<br />
}<br />
<br />
/**<br />
* @return the fecha<br />
*/<br />
public String getFecha() {<br />
return fecha;<br />
}<br />
/**<br />
* @param fecha the fecha to set<br />
*/<br />
public void setFecha(String fecha) {<br />
this.fecha = fecha;<br />
}<br />
/**<br />
* @return the cuerpo<br />
*/<br />
public String getCuerpo() {<br />
return cuerpo;<br />
}<br />
/**<br />
* @param cuerpo the cuerpo to set<br />
*/<br />
public void setCuerpo(String cuerpo) {<br />
this.cuerpo = cuerpo;<br />
}<br />
/**<br />
* @return the postVO<br />
*/<br />
public Post1nBiVO getPostVO() {<br />
return postVO;<br />
}<br />
/**<br />
* @param postVO the postVO to set<br />
*/<br />
public void setPostVO(Post1nBiVO postVO) {<br />
this.postVO = postVO;<br />
}<br />
<br />
<br />
}<br />
<br />
<br />
<br />
<br />
package com.blog.vo;<br />
<br />
import java.util.ArrayList;<br />
import java.util.List;<br />
<br />
public class Post1nBiVO {<br />
<br />
private int id;<br />
private int idAutor;<br />
private String fecha;<br />
private String titulo;<br />
private String contenido;<br />
private List<comentario1nbivo> comentarios=new ArrayList<comentario1nbivo>();<br /> <br /> /**<br /> * DEBE EXISTIR UN CONSTRUCTOR POR DEFECTO PARA QUE<br /> * HIBERNATE FUNCIONE<br /> */<br /> public Post1nBiVO(){<br /> super();<br /> }<br /> <br /> public Post1nBiVO(int idAutor, String fecha, String titulo, String contenido) {<br /> super();<br /> this.idAutor = idAutor;<br /> this.fecha = fecha;<br /> this.titulo = titulo;<br /> this.contenido = contenido;<br /> } <br /> <br /> public void addComentario(Comentario1nBiVO comentario){<br /> comentarios.add(comentario);<br /> }<br /> <br /> public int getId() {<br /> return id;<br /> }<br /><br /> public void setId(int id) {<br /> this.id = id;<br /> }<br /><br /> <br /> public String getFecha() {<br /> return fecha;<br /> }<br /> public void setFecha(String string) {<br /> this.fecha = string;<br /> }<br /> public String getTitulo() {<br /> return titulo;<br /> }<br /> public void setTitulo(String titulo) {<br /> this.titulo = titulo;<br /> }<br /> public String getContenido() {<br /> return contenido;<br /> }<br /> public void setContenido(String contenido) {<br /> this.contenido = contenido;<br /> }<br /><br /> /**<br /> * @return the idAutor<br /> */<br /> public int getIdAutor() {<br /> return idAutor;<br /> }<br /><br /> /**<br /> * @param idAutor the idAutor to set<br /> */<br /> public void setIdAutor(int idAutor) {<br /> this.idAutor = idAutor;<br /> }<br /><br /> /**<br /> * @return the comentarios<br /> */<br /> public List<comentario1nbivo> getComentarios() {<br /> return comentarios;<br /> }<br /><br /> /**<br /> * @param comentarios the comentarios to set<br /> */<br /> public void setComentarios(List<comentario1nbivo> comentarios) {<br /> this.comentarios = comentarios;<br /> }<br /> <br /> <br />}</comentario1nbivo></comentario1nbivo></comentario1nbivo></comentario1nbivo><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-54852692440541348202013-02-28T11:34:00.003+01:002013-02-28T11:34:39.106+01:00Excepción en HibernateEsta excepción a mí me ocurrió cuando estaba intentando actualizar un registro de cuyo id no tenemos existencia en la base de datos, porque acababa de ser borrado. <br />
<br />
<br />
org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1<br /> at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:85)<br /> at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:70)<br /> at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:90)<br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-5319124914291118402013-02-25T19:27:00.001+01:002013-02-28T11:35:07.818+01:00Hacer un redirect con struts<b>Problema: </b>He creado un post, y el forward me llevó al listado de post, sin embargo, como la url es /crearActionPost.do , si le doy a refrescar me volverá a crear el mismo post. Quiero que me cambie la url, para que aunque refresquen, sea imposible volver a crear el mismo post, que para crear un post, deban iniciar el proceso.<br />
<br />
<b>Solución:</b><br />
<br />
<div class="ajy">
<img alt="" class="ajz" data-tooltip="Muestra detalles" id=":1hr" role="button" src="https://mail.google.com/mail/u/0/images/cleardot.gif" tabindex="0" /></div>
<div>
Esto sería lo que tendría habitualmente: //return mapping.findForward("<wbr></wbr>mostrarTodo");</div>
<div>
</div>
<div>
<span style="white-space: pre-wrap;"> </span><span style="white-space: pre-wrap;"> Esta, una primera aproximación:</span><span style="white-space: pre-wrap;"> </span></div>
<div>
<span style="white-space: pre-wrap;"> </span> <span style="white-space: pre-wrap;"> </span>// ActionForward ac = mapping.findForward("<wbr></wbr>mostrarTodo");</div>
<div>
<span style="white-space: pre-wrap;"> </span> <span style="white-space: pre-wrap;"> </span>// ac.setRedirect(true);</div>
<div>
<span style="white-space: pre-wrap;"> </span> <span style="white-space: pre-wrap;"> </span> //return ac;</div>
<div>
</div>
<div>
<b><span style="white-space: pre-wrap;"> En realidad ActionForward, hereda de ForwardConfig, entonces, puedo decirle, que quiero que </span></b></div>
<div>
<b><span style="white-space: pre-wrap;">vaya al listado pero indicándole que haga un redirect: </span> <span style="white-space: pre-wrap;"> </span> </b></div>
<b>
</b>
<div>
<b><span style="white-space: pre-wrap;"> </span> <span style="white-space: pre-wrap;"> </span> ForwardConfig f = new ActionRedirect(mapping.</b><wbr></wbr><b>findForward("mostrarTodo"));</b></div>
<b>
</b>
<div>
<b><span style="white-space: pre-wrap;"> </span> <span style="white-space: pre-wrap;"> </span> f.setRedirect(true);</b></div>
<div>
<b><span style="white-space: pre-wrap;"> </span> <span style="white-space: pre-wrap;"> </span> return (ActionForward) f;</b></div>
Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-39255266704549328122013-02-25T18:46:00.001+01:002013-02-25T19:24:03.996+01:00html:href .vs. a href<b>Problema</b>: Queremos llamar desde una jsp a un action de struts.<br />
<b>Posibilidades</b>: Usar una etiqueta "a" de html o usar una etiqueta "<html:link de="" la="" p="" struts-html="" struts.="" taglib=""><b>Conclusión</b>: Mejor usar la de Struts, puesto que relativiza y puedes llamar a un action sin .do y sin tener en cuenta dónde desde dónde haces la llamada. Peor si quieres imprimir varios parámetros o usar el <bean:write></html:link><br />
<br />
<br />
<pre class="brush:java"><%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="vo.PostVO" %>
<%@page import="java.util.LinkedList" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<logic:iterate name="listaPost" scope="session" id="post" >
<bean:write property="titulo" name="post"/>
<bean:write property="descripcion" name="post"/>
<bean:write property="fecha" name="post"/>
<a href="postAction.do?method=detallesPost&id=<bean:write property="id" name="post"/>">Más detalles...</a></br></br>
</logic:iterate> </pre>
<pre class="brush:java"> </pre>
<pre class="brush:java"> </pre>
<pre class="brush:java"><b><!--
OPCIÓN 1:
con a href, debo buscar la ruta relativa y colocar el .do
--> </b></pre>
<pre class="brush:java"> <a href="../crearPost.do">Crear nuevo Post</a></pre>
<pre class="brush:java"> </pre>
<pre class="brush:java"> </pre>
<b><!-- <br /><br />OPCIÓN 2:con html:link, no es necesario colocar .do ni las relativas <br /><br />--> </b><br />
<br />
<pre class="brush:java"> <html:link action="crearPost">Crear nuevo Post versión pro</html:link> </pre>
<pre class="brush:java"> </pre>
<b><!-- <br /><br /><br />OPCIÓN 3:con html:link, pasándole un parámetro ID, donde adquiere el valor que tendrá la propiedad id dentro del form llamado post</b><br />
<b>http://localhost:8080/nombre_proyecto/crearPost.do?method=crear&titulo=4&ID=2<br /><br />--> </b><br />
<pre class="brush:java"> </pre>
<pre class="brush:java"> <html:link action='crearPost?method=crear&titulo=4' paramName="post"
paramProperty="id" paramId="ID" >Crear nuevo Post versión pro</html:link>
</body>
</html>
</pre>
<br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-50518318062413308312013-01-21T13:44:00.004+01:002013-02-28T11:35:24.604+01:00Hibernate desde 0 usando Struts 1.3.10Hoy me topé con la necesidad de integrar Hibernate junto con Struts, y aquí os dejo unos pasos y unos buenos tutoriales<br />
<br />
1.-Me bajé el zip con el contenido de hibernate. <a href="https://sourceforge.net/projects/hibernate/?source=dlp">https://sourceforge.net/projects/hibernate/?source=dlp</a> y en el eclipse, en la carpeta lib, metí los jars siguientes:<br />
<ul>
<li>Los que estaban dentro de required ( hibernate-distribution-3.6.10.Final-dist\hibernate-distribution-3.6.10.Final\lib\required) : antlr-2.7.6, commons-collections-3.1, dom4j-1.6.1, javassist-3.12.0.GA, jta-1.1, slf4j-api-1.6.1</li>
<li>Los de hibernate propiamente dicho (\hibernate-distribution-3.6.10.Final-dist\hibernate-distribution-3.6.10.Final) : hibernate3 e hibernate3testing </li>
<li>El de JPA (hibernate-distribution-3.6.10.Final-dist\hibernate-distribution-3.6.10.Final\lib\jpa): hibernate-jpa-2.0-api-1.0.1.Final</li>
<ul>
<li>Este jar hay que meterlo para evitar la excepción Exception in thread “main” java.lang.NoClassDefFoundError: javax/persistence/EntityListeners (solución hallada en http://technicalrecyclebin.wordpress.com/category/j2ee/hibernate/ )</li>
</ul>
</ul>
2.-Metí en mi proyecto el jar de un conector de mysql, en mi caso: mysql-connector-java-5.1.22-bin.jar<br />
<br />
3.-Yo seguí un muy buen tutorial de creación de la aplicación, donde tras indicarte los ficheros que tienes que crear te brinda la oportunidad de dejar la prueba ejecutada <br />
http://blog.sencide.com/2011/03/hibernate-tutorial-for-beginners.html<br />
<br />
4.-Para ese mismo tutorial, os dejo los scripts de creación de mysql, puesto que , tuve algún error, por ejemplo, se me olvidó crear las claves primaras como autoincremental, y si no lo hacía, me salía el siguiente error: org.hibernate.HibernateException: The database returned no natively generated identity value o también otro que indicaba que no tenía un valor por defecto en el id. OJO, yo le llamé a la base de datos, hibernatestruts (con lo cual difiere del ejemplo del tutorial)<br />
<br />
delimiter $$<br />
<br />
CREATE TABLE `users` (<br />
`id` int(11) NOT NULL AUTO_INCREMENT,<br />
`first_name` varchar(100) DEFAULT NULL,<br />
`last_name` varchar(100) DEFAULT NULL,<br />
PRIMARY KEY (`id`)<br />
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8$$<br />
<br />
delimiter $$<br />
<br />
CREATE TABLE `tasks` (<br />
`id` int(11) NOT NULL AUTO_INCREMENT,<br />
`user_id` int(11) DEFAULT NULL,<br />
`title` varchar(100) DEFAULT NULL,<br />
`description` varchar(100) DEFAULT NULL,<br />
PRIMARY KEY (`id`)<br />
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8$$<br />
<br />
SELECT * FROM hibernatestruts.users;<br />
<br />
delimiter $$<br />
<br />
CREATE TABLE `tasks` (<br />
`id` int(11) NOT NULL AUTO_INCREMENT,<br />
`user_id` int(11) DEFAULT NULL,<br />
`title` varchar(100) DEFAULT NULL,<br />
`description` varchar(100) DEFAULT NULL,<br />
PRIMARY KEY (`id`)<br />
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8$$<br />
<br />
SELECT * FROM hibernatestruts.users;<br />
<br />
5.-Una vez que ejecuté como una aplicación Java el test. Procedí a introducirlo con Struts. Para ello, tenía una aplicación creada con el struts-blank de la versión 1.3.10, creé un Action para poder ejecutar mi código y seguí el siguiente tutorial:<br />
<br />
<a href="http://bernabetorres.wordpress.com/2011/07/27/integracion-de-hibernate-en-struts-1-3-10/">http://bernabetorres.wordpress.com/2011/07/27/integracion-de-hibernate-en-struts-1-3-10/</a><br />
<br />
y este<br />
<br />
<a href="http://www.mkyong.com/struts/struts-hibernate-integration-example/">http://www.mkyong.com/struts/struts-hibernate-integration-example/</a><br />
<br />
<br />
6.-Finalmente, me leí una documentación adicional<br />
<br />
Introducción resumida: <a href="http://hareenlaks.blogspot.com.es/2011/03/introduction-to-hibernate.html">http://hareenlaks.blogspot.com.es/2011/03/introduction-to-hibernate.html</a><br />
Introducción: <a href="http://docs.jboss.org/hibernate/core/3.5/reference/en/html/tutorial.html">http://docs.jboss.org/hibernate/core/3.5/reference/en/html/tutorial.html</a><br />
Lenguaje HQL: <a href="http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html">http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html</a><br />
Variado: <a href="http://viralpatel.net/blogs/introduction-to-hibernate-framework-architecture/">http://viralpatel.net/blogs/introduction-to-hibernate-framework-architecture/</a><br />
<br />
7.-No olvidar, una buena herramienta para el eclipse (en mi caso eclipse Juno)<br />
<a href="http://marketplace.eclipse.org/node/420896#.UP0aLoaTrIU">http://marketplace.eclipse.org/node/420896#.UP0aLoaTrIU</a>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-54780323449164735442012-12-10T13:47:00.000+01:002012-12-10T13:47:47.126+01:00Poder ver ficheros ocultos en el mac<div style="word-wrap: break-word;">
Cuando quiero ver carpetas ocultas o ficheros ocultos, por ejemplo, lo necesitaba para ver ficheros .svn de un determinado proyecto.</div>
<div style="word-wrap: break-word;">
<br /></div>
<div style="word-wrap: break-word;">
En el mac es necesario ejecutar por consola lo siguiente:</div>
<div style="word-wrap: break-word;">
<br /></div>
<div style="word-wrap: break-word;">
miMAC:~ miusuario$ defaults write com.apple.finder AppleShowAllFiles TRUE</div>
<div style="word-wrap: break-word;">
miMAC:~ miusuario$ killall Finder</div>
<div style="word-wrap: break-word;">
miMAC:~ miusuario$ </div>
Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-61054370246662469622012-04-07T10:37:00.000+01:002012-04-07T10:37:54.980+01:00Gestiona tu propia publicidad a través de Google DFP Small BusinessSeguramente os habreis topado o escuchado, que cuando un determinado portal alcanza éxito o llega a un determinado público, pueden requerirle la colocación de publicidad.<br />
<br />
La gestión de la publicidad y la atención de dichas peticiones puede no ser una tarea fácil si tenemos que controlar a quién se muestra, en qué horario, durante qué fechas y en qué proporción (número de veces que se muestra o número tope, o la distribución de los anuncios entre el rango de fechas,...)<br />
<br />
<b>Hay varias vías de enfocarlo:</b><br />
<ul>
<li>Si se intenta controlar de <b>forma manual</b>, no tendremos un aprovechamiento correcto del espacio ya que, colocaremos durante todo un día una publicidad que no tenía porqué mostrarse tanto tiempo ni a tanta gente, y su espacio podía haber sido usado por más anuncios.</li>
<li>Si lo intentamos contratar para que nos realicen <b>determinadas acciones informáticas</b> de cara a controlar todas estas variables, probablemente sea demasiado costoso y no cubriremos todas las necesidades. Si la demanda es relativamente pequeña sí es una buena solución; ya que, pedimos lo que sabemos que podremos manejar.</li>
<li>Hay una <b>solución intermedia</b>, que es aprovechar las herramientas del mercado, y una puede ser incorporar el uso de <a href="http://www.google.com/intl/es/dfp/info/sb/index.html" target="_blank">DFP Small Business de google</a>, para poder tener nosotros mejor control y gestión, y que sean menores los cambios a nivel de programación del portal web. </li>
</ul>
Normalmente, para llegar a esta solución hemos pasado por la manual, por la inclusión de google adsense, por realizar algunos cambios a nivel informático, y finalmente, por esta solución intermedia (que también requiere tiempo de experiencia y formación)Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com2tag:blogger.com,1999:blog-2327532640037113793.post-9283140212733383622012-02-21T17:44:00.001+01:002012-02-21T17:44:35.620+01:00Herramienta colaborativa de tareas: TrelloYo sigo en mi mismo tema de buscar herramientas con las que se pueda organizar mejor un equipo. He encontrado esta: Trello <a href="http://www.trello.com/">www.trello.com</a> <br />
<br />
Me parece genial, porque creas tareas, que tienen su propia lista de subtareas que se van marcando como resueltas o no; se asignan personas a las tareas, se votan (por si hay que elegir algo), se ordenan para cambiar su prioridad y se pueden pasar a distintos estados como en un tablero Kanban. Y además, cualquier cambio que hagas se ve en cualquier navegador que esté viendo el mismo espacio.<br />
<br />
En resumen, me encantó.Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-90477856768837612692012-02-11T13:44:00.002+01:002012-02-11T13:44:38.000+01:00Wireframing o bocetado...como le queramos llamarAunque parezca obvio en la vida diaria, quizás en muchos trabajos no se hace un bocetado.<br />
<br />
Cuando vamos a explicarle una dirección a alguien normalmente dibujamos si no conocen bien el sitio, cuando estamos en el cole dibujamos nuestra casa y la familia, y oh! casualidades de la vida, llega el momento de trabajar y ¿se nos olvida dibujar?.<br />
<br />
Después de varios proyectos en el mundo de internet, muchas personas con las que he hablado (clientes, equipo,...), diversos sectores de actividad que he tenido que ver,... me he dado cuenta que además de escribir (importante para detallar), es altísimamente importante el dibujar lo que tenemos en mente (o que los demás dibujen lo que tienen en mente), máxime si es para una web o para gestión. Porque cada uno se estructura la idea en su cabeza y aunque hables de lo mismo, el resultado puede no ser igual (nadie dice que mejor ni peor). ¿Qué permite esto?, reducir costes, estimar adecuadamente, establecer adecuadamente funcionalidades y requerimientos,... pero eso sí, no es la panacea, asumamos que habrá cambios o ajustes; incluso en una casa los llega a haber.<br />
<br />
Pues bien, para todo esto, realizo el dibujo de pantallas (previo a diseño gráfico incluso) con varias herramientas, normalmente uso el Visio, pero hoy quería probar una con un aspecto más "desenfadado" y "alegre"... y me ha gustado, se llama <a href="http://www.balsamiq.com/" target="_blank">Balsamiq Mockups</a>, y realmente es muy fácil e intuitiva. Yo la instalé en el Mac, pero tiene plugins para usarlo con herramientas de gestión de proyectos. Eso sí, no es gratis, tienes una <a href="http://builds.balsamiq.com/b/mockups-web-demo/" target="_blank">demo online</a> y otra de escritorio para poder probarla y evaluar.<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com2tag:blogger.com,1999:blog-2327532640037113793.post-54853418648480341512011-10-26T21:37:00.001+01:002011-10-26T21:37:11.815+01:00Instalando VirtualBox en Mac DarwinYo sigo instalando máquinas virtuales allí, por donde voy :), hoy me toca hacerlo para poder instalar un curso de inglés que sólo funciona en Windows.<br />
<br />
Pues bien, a ello:<br />
<br />
<ol>
<li> Descargar el .dmg https://www.virtualbox.org/wiki/Downloads <b>VirtualBox 4.1.4 for OS X hosts</b> <a class="ext-link" href="http://download.virtualbox.org/virtualbox/4.1.4/VirtualBox-4.1.4-74291-OSX.dmg"><span class="icon">x86/amd64</span></a>
</li>
<li>Una vez bajado, doble click en el dmg hasta instalar el VirtualBox</li>
<li>Ahora toca instalar el espacio para la máquina virtual</li>
<ol>
<li>Nombre de la máquina. Seleccioné también el tipo de sistema operativo que llevará</li>
<li>Memoria Ram: 786</li>
<li>Disco Duro Nuevo. También indiqué el check de disco duro de arranque</li>
<li>VDI (Virtual Box Disk Image)</li>
<li>Me pregunta si quiero espacio "Reservado dinámicamente" o "fijo", escojo el primero.</li>
<li>Tamaño del disco duro: 8 Gigas.</li>
<li>Se presenta un resumen y hay que dar a "Crear".</li>
<li>Finalmente, ya vemos la máquina virtual creada.</li>
</ol>
<li>Doy a "Configuración" y en pantalla indico 64 megas (estaba en 16)</li>
<li>Meto el CD del Windows XP </li>
<li>Ahora doy a "Iniciar", me salen unos avisos de teclas para salir de la máquina virtual, luego me sale el asistente de instalación, y luego le doy a siguiente y ya comienza a instalar el Windows XP.</li>
<li>Una vez instalado, cada vez que queramos entrar sería ir a Aplicaciones -> Virtualbox -> luego seleccionamos nuestra máquina virtual -> Iniciar</li>
</ol>
<br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-83438270743666161082011-10-25T20:31:00.000+01:002011-10-25T20:31:33.517+01:00Vídeos excelentes optimismo, motivaciónSimplemente, teneis que verlo, habla de <b>cómo enfocar la vida</b>: <a href="http://www.smilechanneltv.net/optimismo-e-ilusion-emilio-duro/">http://www.smilechanneltv.net/optimismo-e-ilusion-emilio-duro/</a> La mala suerte se pega, la negatividad se pega... yo pienso lo mismo, rodéate de lo positivo<br />
<br />
<b>Motivación</b>: <a href="http://www.ted.com/talks/lang/spa/dan_pink_on_motivation.html%20">http://www.ted.com/talks/lang/spa/dan_pink_on_motivation.html </a><br />
<br />
<b>Liderar y acción:</b> <a href="http://www.ted.com/talks/lang/spa/simon_sinek_how_great_leaders_inspire_action.html">http://www.ted.com/talks/lang/spa/simon_sinek_how_great_leaders_inspire_action.html</a>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-19417086941345926962011-10-25T20:14:00.001+01:002011-10-25T20:14:45.724+01:00Gestión del Tiempo, algunas técnicasEn el día a día, muchas son las tareas que podemos llegar a tener, bien porque tenemos una tarea que nos ocupa el grueso del tiempo, pero que se subdivide en otras; o bien porque tenemos múltiples tareas (o interrupciones) a lo largo del día. Entonces, si no manejamos ordenadamente el proceso de ir paso a paso cerrando tareas tendremos un colapso, porque nada llegará a su fin, o llegará de mala manera, y porque cada vez tendremos más.<br /><br />En cursos de gestión del tiempo y en múltiples grupos/foros, se comentan diversas técnicas. Finalmente, todo se basa en ser ordenado, y se resume en tener una <b>lista</b>. Ahora bien, no es cuestión de entrar en múltiples listas, sin ningún orden entre las tareas, y en la que simplemente apuntes y nada se vaya cerrando. Se trata de tener una lista (con las <b>tareas priorizadas</b> según tu interés, bien porque desbloquean otras tareas, bien porque se cierra un tema, bien porque es para "ya"), y se trata de "mantener" esa lista con poco esfuerzo, de ir revisándola. Hay muchas técnicas para esto, pero una podría ser la ZTD (Zen To Done) <a href="http://zenhabits.net/zen-to-done-ztd-the-ultimate-simple-productivity-system/">http://zenhabits.net/zen-to-done-ztd-the-ultimate-simple-productivity-system/</a><br />
<br />
También se trata de tener momentos en los que <b>agrupar tareas pequeñas</b>, ejemplo: hacer llamadas (agrupa un momento para hacer todas las llamadas), responder a e-mails (no vivamos pendientes del correo), enviar e-mails,... y de <b>aprovechar el tiempo para realizar una tarea</b>. En fin, trata de enfocarse en las tareas durante un tiempo, no andar saltando entre todas y no cerrar nada. Otra técnica que habla de este punto, podría ser la técnica Pomodoro <a href="http://www.pomodorotechnique.com/">http://www.pomodorotechnique.com/</a>, en donde, un "reloj tomate" te indica durante cuánto tiempo te vas a dedicar sólo a una tarea en específico, para acabarla y acabarla bien. La tarea que escojas, eso sí, debe ser la correcta en cuanto a prioridad.<br />
<br />
<br /><b>Importante</b>: No hacer las cosas que "os aburran" en el peor momento del día, esto quiere decir, que si aborreces hacer informes de seguimiento, no los hagas después de comer, cuando quizás no es el mejor momento para tí.<br />
<br />
Importante <b>importantísimo</b>!!: Cada uno tiene un <b>nivel diferente de urgencias</b>... <br />
<br />
Finalmente, me gustó mucho este post, porque refleja, lo que se debe evitar: <a href="http://www.danielecheverria.com/index.php/urgencias-1/">www.danielecheverria.com/index.php/urgencias-1/</a><br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com1tag:blogger.com,1999:blog-2327532640037113793.post-61712245224091744932011-09-16T19:22:00.000+01:002011-10-25T20:15:29.843+01:00Podcast pmpUna vez alguien es PMP, o alguien está interesado en su formación dentro de la gestión de proyectos, es útil entrar en redes donde se comparta información (grupos linkedin/xing, propias comunidades de gestión de proyectos,...); compartir con otros gestores de proyectos; estar suscritos a fuentes de noticias, y también escuchar podcasts.<br />
<br />
Los podcasts los descubrí buscando cómo obtener pdu's para PMP, y unos que son fáciles de seguir, no demasiado extensos y que además puedes solictar pdu's son los siguientes: <a href="http://www.pducast.com/">http://www.pducast.com/</a><br />
<br />
Espero que os sirva<br />
<br />
<br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-91422179330066931642011-09-15T19:12:00.000+01:002011-09-15T19:12:49.869+01:00Servidor de búsquedas o Motor de búsquedas: SphinxEn proyectos donde se manejan gran cantidad de datos sobre los cuales hay que buscar, el punto importante es la velocidad y el rendimiento, es decir, que busque rápido y que si hay muchas búsquedas a la vez no se degrade la aplicación.<br />
<br />
Un buen motor de búsquedas, que sirve como un sistema intermedio entre la base de datos y nuestra capa de acceso a datos puede ser Sphinx: <a href="http://sphinxsearch.com/about/sphinx/">http://sphinxsearch.com/about/sphinx/</a> <br />
<br />
¿Qué beneficios tiene?, permite la indexación de determinados contenidos (mejorando aún más el acceso a rápido porque facilitas el encontrar por índices lo que luego buscas en base de datos). Está programado en C++, estando bastante optimizado.<br />
<br />
Tiene un gran punto a su favor, que es el que puede usarse en varios tipos de sistemas operativos y en lenguajes de programación<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-84234758369751209992011-07-26T22:14:00.002+01:002011-07-26T22:16:48.799+01:00Flickr conseguir idRecientemente instalando unos plugins para leer fotos de una cuenta en Flickr y usarlos en un Wordpress, me topé con que tenía que saber el identificador Flickr.<br /><br />Pues bien, para obtenerlo fácilmente usé lo siguiente:<br /><br />http://idgettr.com/<br /><br />Ahí introduces la dirección de Flickr que tienes creada, y que es algo, que cuando creas la cuenta te dice que luego no lo podrás cambiar. Finalmente, te devuelve el identificador.Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-7800786488688849292011-03-28T23:19:00.003+01:002011-03-28T23:31:15.355+01:00Scrum - Scrum ManagerEn estos últimos meses he asistido a un par de cursos de Scrum, para ver cómo estaba la gestión de proyectos desde lo que se llama "gestión de proyectos de manera ágil". En el primero de los cursos, tuve una introducción y en el segundo, ya nos adentramos un poco más, en la visión de Scrum que imparte Scrum Manager.<br /><br /><span style="font-style: italic;"></span><br />Acerca de Scrum, podríamos citar a dos "entes" que guían o estructuran los conocimientos <a href="http://www.scrummanager.net/">Scrum Manager</a> y a <a href="http://www.scrumalliance.org/">Scrum Alliance</a><br /><br /><br />Resumo brevemente en qué consiste, según Scrum Manager <span style="font-style: italic;">"es una metodología de desarrollo adaptación continua a las circunstancias de la evolución del proyecto.</span><br /><span style="font-style: italic;">Como método ágil:</span><br /><ul style="font-style: italic;"><li>Es un modo de desarrollo adaptable, antes que predictivo.</li><li>Orientado a las personas, más que a los procesos.</li><li>Emplea el modelo de construcción incre- mental basado en iteraciones y revisiones.</li></ul><span style="font-style: italic;">"</span><br />Os dejo un enlace a una introducción a Scrum, disponible en Scrum Manager<br /><a href="http://www.scrummanager.net/ok/mod/resource/view.php?id=30">http://www.scrummanager.net/ok/mod/resource/view.php?id=30</a>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-10449728476870258982010-09-20T14:46:00.004+01:002010-09-20T20:15:30.148+01:00Rumbo a un jefe de proyectoInteresante podcast, para ver cómo se "convierte" uno a jefe de proyecto (y qué puede significar eso)<br /><br /><a href="http://www.project-management-podcast.com/index.php/episodes/109-episode-062-how-can-i-become-a-project-manager">http://www.project-management-podcast.com/index.php/episodes/109-episode-062-how-can-i-become-a-project-manager</a><br /><br />Hay cosas que comentan, como que debes tener claro lo que quieres ser, para no caer en el caso de una excelente persona técnica y un mal jefe de proyecto (vivan los extremismos...). También comenta el estar en el sitio adecuado y momento adecuado, para que consigas esa oportunidad (o puedas "forzarla")<br /><br /><br /><a href="http://cuttingsedgepm.blogspot.com/2007/02/february-9-2007-how-do-i-become-pm-part.html">http://cuttingsedgepm.blogspot.com/2007/02/february-9-2007-how-do-i-become-pm-part.html</a><br /><br />¿Qué se concluye? que nadie te obliga, que te tiene que gustar y que muchas de las cosas se aprenden pero debes tener una buena base. Además, expresa, claramente que dedicarse a la gestión de proyectos no implica "ascender", porque puede que te guste y valgas más para la parte técnica (y que incluso ganes más)<br /><br /><a href="http://discuss.joelonsoftware.com/default.asp?design.4.46414.11">http://discuss.joelonsoftware.com/default.asp?design.4.46414.11</a><br /><br />Desvelando pros y contras de ser Jefe de Proyecto o Analista de un negocio (área de negocio)...¿la mejor decisión?...depende.Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-57272923350396138682010-09-20T14:21:00.004+01:002010-09-20T20:10:03.458+01:00Britney Spears, la gestión de proyectos y un podcast de Gestión de ProyectosEscuchando un episodio por medio del podcast, me encontré con otro de esos "decálogos", que me llaman la atención. En este caso, está relacionado con canciones de Britney Spears, y las interpretaciones asociadas a la gestión de proyectos. Vale la pena escucharlo.<br /><br /><a href="http://www.project-management-podcast.com/index.php/episodes/180-episode-092-ten-things-you-can-learn-about-project-management-from-britney-spears">http://www.project-management-podcast.com/index.php/episodes/180-episode-092-ten-things-you-can-learn-about-project-management-from-britney-spears</a><br /><br />10.-No me dejes ser el último en saberlo. Informa a tus interlocutores e interesados en el proyecto. Para bien o para mal, por ejemplo, si vas a terminar una semana antes, infórmalo! porque sino ¿qué hacemos con la gente asignada al proyecto para esa semana?<br /><br />9.-En la ejecución (movimiento, danza) se ve el 90%. No vale sólo con la presentación inicial, es un todo. Dar lo que necesitan saber en el formato en el que se ha solicitado. Comunicación<br /><br />8.-Personas "guapas" (en este caso, preparadas) obtienen buenos proyectos=> en particular lo que tiene que ver, es que tenemos que prepararnos "ponernos guapos (preparados)" para esos proyectos, hacernos eficientes,...<br /><br />7.-Rápate la cabeza para mantener el horario. Es decir, si tienes que cambiar de chip hazlo, analiza lo que está debajo de lo visible, para ver que todo va bien.<br /><br />6.-Entrentenimiento. Debe haber algo de "entretenimiento" en la gestión de proyectos, se ve patente hasta en<br /><br />5.-Si huele bien vende bien. No pensar sólo en el éxito del proyecto sino del producto también.<br /><br />4.-Buscar fondos.<br /><br />3.-¿E-mail a mi corazón?. El e-mail en un proyecto que va mal, no es la mejor manera; es mejor cara a cara, para no dejar lugar a la interpretación.<br /><br />2.-Desnudarse=> tengo un plan y creo en él.<br /><br />1.-Give me baby one more time=> lecciones aprendidas, haz uso de ellas.Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-87058973952150848502010-09-14T20:43:00.002+01:002010-09-14T20:44:12.684+01:0010 cosas que un Jefe de proyecto no quiere oirMe causó mucha risa este artículo :)<br /><a href="http://www.zdnet.com/blog/careers/10-things-your-it-project-manager-never-wants-to-hear/133"><br />http://www.zdnet.com/blog/careers/10-things-your-it-project-manager-never-wants-to-hear/133</a>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-47036147331735857192010-09-14T19:41:00.004+01:002010-09-14T20:43:17.522+01:00Reuniones efectivasComo he estado leyendo y escuchando, recientemente sobre este tema (es lo que tiene, conseguir los PDU), voy a lanzar un post con todo el conglomerado<span style="font-weight: bold;">, </span>hay cosas que pueden parecer muy obvias, pero esto es como lo de que el sentido común no es el más común de los sentidos; y todos podemos caer u observar determinados errores.<span style="font-weight: bold;"><br /><br />Una reunión cuesta</span>, y al fin y al cabo es una actividad de negocio. Por tanto, hay que valorar si es mejor una reunión que muchos correos o llamadas telefónicas (que en este caso sería que sí), o valorar que igual no es necesario y se arregla fácilmente con los medios antes indicados (un par de e-mails). ¿No habeis estado nunca en una reunión, de la que salisteis pensando que habiais perdido el tiempo?<br /><br />Si convocas una reunión, es importantísimo saber <span style="font-weight: bold;">lo que quieres tratar y en orden, osea ¿para qué?</span>. Si te convocan a una, sin saber para qué, pregunta, porque las reuniones se preparan; además entre todos los asistentes nos podemos hacer una idea equivocada del objetivo. Además, <span style="font-weight: bold;">quiénes son los participantes</span>, porque también por los asistentes puedes saber qué temas "ocultos en agenda" pueden salir... este tipo de cosas genera desconfianza.<br /><br />Una reunión puede transcurrir, pero es importante, que al finalizar se resuman las <span style="font-weight: bold;">conclusiones</span>, <span style="font-weight: bold;">acuerdos y tareas designadas </span>que pudieron salir tras la reunión, porque sino, pueden quedar cosas en el tintero.<br /><br /><span style="font-weight: bold;">Tiempo</span> estimado. La piedra angular, aunque particularmente no me gustan las reuniones de más de 1 hora, es posible, que si estais resolviendo varios puntos sea mejor seguir, bien por distancia entre los que se reunen, o por agenda, o porque están quedando claros los temas y el volver a retomarlo en otro momento o por otros medios, os lleve más tiempo que extenderlo algo más ahora.<br /><br />El truco de conseguir atención: es mejor decir <span style="font-style: italic;">¿cuál es el próximo paso ?</span> en vez de decir <span style="font-style: italic;">hablemos del próximo tema</span>.<br /><br />Todo esto que puede parecer una tontería, me llamó mucho la atención, porque leí recientemente un ejemplo de un jefe de proyecto que iba desde Estados Unidos a Suramérica, por un tema de urgencia, y cuando llegó allí (un fin de semana...recordemos que era urgente), no se sabía de su llegada ni para qué iba; reconociendo él mismo, que debía haber recibido una confirmación de que alguien le recibiría, que sabría del tema que estaban tratando. Eso por un lado, y por el otro, los que tenían la urgencia, tampoco se ocuparon más, es decir, lanzaron la voz de alarma, pero no fueron consecuentes con la petición.<br /><br />En un podcast, escuché también de una reunión internacional, que tomó meses organizarla, obviamente, todo esto va dependiendo de los niveles de organización y proyecto.<br /><br /><span style="font-weight: bold;">Leí de los beneficios de las reuniones informales, eso sí, con ojo</span>. Ejemplo, si son varios equipos, de varias empresas o departamentos, muchas veces es más eficaz, salir luego a tomar un café y escuchar "amenamente" diferentes ideas u opiniones y crear lazos, detalles técnicos... esto es con ojo, porque pueden sentarse malas primeras impresiones, es decir, es informal pero no anti-profesional. Con respecto a esto, <span style="font-weight: bold;">hay muchos artículos y posts, en los que se debate acerca de los sitios más productivos: máquinas de café, lugares de comida</span> en el trabajo; ya que se habla más amenamente de hechos y problemas, pudiendo obtener otras soluciones o conociendo información que puede evitar problemas en un futuro en proyectos similares.<br /><br />Ahora bien, por mucho que leas o que escuches, definitivamente, la experiencia (y los errores o buenos resultados) marcan la diferenciaAnonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-33691816299427369392010-07-19T17:59:00.004+01:002010-07-19T18:03:51.179+01:00Conexión Nula o limitada en Windows Vista. No tengo InternetEste fin de semana, me topé con el error de Conexión Nula o Limitada en un Windows Vista. El problema era que cuando me conectaba a una red wi-fi salía el mensaje de "está tardando mucho en responder" y había veces que "conectaba" y otras que no.<br /><br />Finalmente, con la "conexión" aparente o sin ella, no se podía acceder a internet.<br /><br />Ejecuté en una ventana (cmd) la instrucción ipconfig y se veía que no se asignaba una ip típica de internet.<br /><br /><span style="font-weight: bold;">¿Qué pasaba?</span> que no se asignaba bien por DHCP.<br /><span style="font-weight: bold;">Solución</span>: Editar el registro de windows, para ello, paso la página de soporte de Microsoft: <a href="http://support.microsoft.com/kb/928233">http://support.microsoft.com/kb/928233</a><br /><br />De cualquier forma, encontré una explicación bastante clara en otro blog: <a href="http://yorch.org/2008/06/windows-vista-falla-al-obtener-la-ip-por-dhcp/"> http://yorch.org/2008/06/windows-vista-falla-al-obtener-la-ip-por-dhcp/</a>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com2tag:blogger.com,1999:blog-2327532640037113793.post-53465601321226055602010-04-19T22:31:00.003+01:002010-04-19T22:36:27.039+01:00Slideshow rotador de imágenes JoomlaEstuve buscando y buscando y buscando un plugin/extensión/módulo/llámalo X que me permitiese meter un "rotador" o slideshor de fotos con título y descripción.<br /><br />Pues bien, la solución me llegó con RokSlideShow, que por cierto, soporta internacionalización con JoomFish, así que fuí feliz del todo:<br /><br /><a href="http://www.rockettheme.com/extensions-joomla/rokslideshow">http://www.rockettheme.com/extensions-joomla/rokslideshow</a><br /><br />Además está para la versión 1.0 (dejaron de tener soporte) y 1.5<br />En la demo se puede ver un claro ejemplo: <a href="http://demo.rockettheme.com/extensions/?extension=rokslideshow">http://demo.rockettheme.com/extensions/?extension=rokslideshow</a><br /><br />Otra cosa es que me da problemas con los acentos, explicaban que con salvar el fichero de la descripción en UTF-8 ya estaba, pero lo hice así y me sigue sin funcionar....seguiré investigando.<br /><br />Ejemplo de su uso: <a href="http://www.vvlamoria.com">www.vvlamoria.com</a>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-43549006055890771222010-04-03T15:38:00.004+01:002010-04-03T15:43:24.316+01:00NTFS para mac. Leer escribir discos en un macPara variar, me he vuelto a topar con el problema de tener un disco duro del cual quiero leer y sobre todo escribir entre distintos sistemas operativos.<div><br /></div><div>Me había pasado con anterioridad usando Ubuntu y un disco NTFS, pero fue de rápida solución, especialmente con las últimas versiones está bastante solventado.</div><div><br /></div><div>Actualmente, me ha pasado con un MacBook Pro, y para ello, me hice con el macfuse </div><div><br /></div><div><a href="http://code.google.com/p/macfuse/">http://code.google.com/p/macfuse/</a></div><div><br /></div><div>y luego con el ntfs-3g para mac de tuxera <a href="http://macntfs-3g.blogspot.com/">http://macntfs-3g.blogspot.com/</a> en mi caso, me bajé lo que pone el siguiente post <a href="http://macntfs-3g.blogspot.com/2010/01/ntfs-3g-for-mac-os-x-2010116.html">http://macntfs-3g.blogspot.com/2010/01/ntfs-3g-for-mac-os-x-2010116.html</a> </div><div><br /></div><div>...me dio algún problema con el disco en el sentido que dice que tienes que forzar el montado/desmontado, pero funciona correctamente.</div>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-19283294832102245452010-03-17T22:38:00.002+01:002010-03-17T22:39:30.506+01:00Fuerte competencia entre FB y GoogleMe pareció interesante esta noticia, aunque tiene sus connotaciones en el texto.<br /><br />Facebook supera a Google en número de visitas semanales: <a href="http://www.el-nacional.com/www/site/p_contenido.php?q=nodo/128582/Tecnología/Facebook-supera-a-Google-en-número-de-visitas-semanales">http://www.el-nacional.com/www/site/p_contenido.php?q=nodo/128582/Tecnología/Facebook-supera-a-Google-en-número-de-visitas-semanales</a>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0tag:blogger.com,1999:blog-2327532640037113793.post-21023592455086570512010-03-03T23:44:00.002+01:002010-03-03T23:51:29.693+01:00La Informática no es sólo un mundo de "frikis"Hoy leyendo el periódico, sobre unas de las charlas del "III Encuentro Internacional de TIC en la Cooperación para el desarrollo", afiancé mi hipótesis de que realmente la informática y entornos tecnológicos no es sólo un mundo de "frikismo" como la mayoría puede pensar; permite entre otras muchas cosas, permitir la concentración de conocimiento e ideas que permiten trabajar en tiempos de crisis, desastres, escasez de recursos...<br /><br />Dicha noticia en la prensa se titula "<a href="http://www.elcomerciodigital.com/v/20100303/sociedad/cuando-hambre-innovar-20100303.html">Cuando hay hambre, hay que innovar</a>", cosa que es verídica, porque yo siempre pienso, ¿qué estaría haciendo el primero que hizo paté de cabracho, o que se comió una langosta, o que encendió fuego, o que hizo la morcilla...por citar algunos ejemplos?, no creo que se levantase una mañana y dijese "hoy no tengo nada que hacer, voy a..."<br /><br />A quien le pueda interesar, seguro que en las conclusiones del encuentro ve algo interesante <a href="http://encuentro2010.fundacionctic.org/">http://encuentro2010.fundacionctic.org/ </a><br /><br /><br /> <h1 style="font-size: 140%;"><br /></h1>Anonymoushttp://www.blogger.com/profile/16772951173335151356noreply@blogger.com0