tag:blogger.com,1999:blog-86590784546305255142024-03-12T20:26:02.294-07:00Tormenta Software!!Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.comBlogger29125tag:blogger.com,1999:blog-8659078454630525514.post-6139293624288321882012-03-22T20:18:00.001-07:002012-03-22T20:18:21.802-07:00Imprimir en IE sin mostrar cuadro de diálogo de impresora.<p>Primero que nada decir que este problema me surgió particularmente para poder imprimir en un punto de autoatención. En él se abre una navegador donde se muestra una página con las opciones, y se mandaría a imprimir un número o algo a la impresora. Cuando uno manda a imprimir en javascript con el clásico window.print() se levanta el cuadro de diálogo de la impresora para seleccionar las opciones para realizar la impresión. Y obviamente en este caso sería muy feo mostrar esa ventana al usuario y darle la opción de escoger qué hacer. Por eso lo primero que pillé por ahí fué una opción para firefox, entrando a la configuración de este se podía habilitar un modo de impresión “silencioso” donde no se muestra el diálogo de impresión. Hasta ahí todo bien, pero luego surgió el inconveniente de que debía usarse Internet Explorer, y no Firefox.</p> <p>El caso es que luego de mucho investigar no pude dar con una solución satisfactoria, hasta que pillé el siguiente código que se pone en la misma página HTML:</p> <p><script language='VBScript'> <br />Sub imprimir() <br />       OLECMDID_PRINT = 6 <br />       OLECMDEXECOPT_DONTPROMPTUSER = 2 <br />       OLECMDEXECOPT_PROMPTUSER = 1 <br />       call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1) <br />End Sub <br />document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>" <br /></script></p> <p>Y luego, es cosa de llamar a la función imprimir(); desde javascript. Y funciona excelente!!. Así que ahí queda el dato por si a alguien le sirve, y espero que así sea.</p> Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com6tag:blogger.com,1999:blog-8659078454630525514.post-44974746486425193032012-03-21T20:42:00.001-07:002012-03-21T20:42:32.870-07:00Revalidar variables de $_POST a local.<p>En realidad este problema surgió en aquellos años donde la nueva versión 4.2 de PHP decidió traer por defecto el parámetro register_globals desactivado. Esto significó una gran mejora en seguridad, un gran problema para las aplicaciones que se colgaban de esta “funcionalidad” de php, y una buena cantidad de pitutos para solucionar esto.</p> <p>Resulta que a día de hoy aún me aparecen de vez en cuando este tipo de trabajos, y de primera me daba el trabajo de explorar las variables que se necesitaban para entonces validarlas una por una. Pero recordé que habia un pequeño código que permite revalidar estas variables del $_POST en forma local nuevamente de forma fácil, así que para quién le sirva y para recordarlo personalmente igual de vez en cuando, el código es este:</p> <p>if ($_POST) { <br />  foreach ($_POST as $key => $value) { <br />    $$key=$value; <br />  } <br />}</p> <p>Lo que hace este código es que revisa todas las variables definidas en el $_POST, y crea las variables definidas en este arreglo en forma local con el mismo nombre con el cuál se pasó a este arreglo.</p> <p>Y eso sería!. Espero que les sirva. Nos vemos!</p> Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-81686399557878260912011-01-23T15:20:00.000-08:002011-01-23T15:21:02.107-08:00Activar Dreamweaver CS4 Mac Os X Leopard<p style="clear: both">Si, en realidad es cosa de buscar, solo que siempre busco, me demoro un par de horas en encontrar, y cuando me vuelve a pasar lo mismo debo volver a gastar otro par de horas buscando. Asì que como me surgió el problema prefiero dejarlo aqui.</p><p style="clear: both">Antes que nada debemos cerrar cualquier aplicación CS4 que tengamos abierta. Mas vale prevenir que curar.<br /><br />Deben realizarse 2 acciones: primero que nada vamos al terminal y copiamos lo siguiente:<br /><br />sudo rm /Library/Application\ Support/Adobe/Adobe\ PCD/cache/* <br /><br />Luego, copiaremos el siguiente comando:<br /><br />sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts <br /><br />Nos pedirá nuestra contraseña, y seguimos. Se nos abrirá un archivo en el TextEdit. Al final de lo que ya estè escrito, debemos copiar lo siguiente:<br /><br />127.0.0.1 activate.adobe.com <br />127.0.0.1 practivate.adobe.com <br />127.0.0.1 ereg.adobe.com <br />127.0.0.1 activate.wip3.adobe.com <br />127.0.0.1 wip3.adobe.com <br />127.0.0.1 3dns-3.adobe.com <br />127.0.0.1 3dns-2.adobe.com <br />127.0.0.1 adobe-dns.adobe.com <br />127.0.0.1 adobe-dns-2.adobe.com <br />127.0.0.1 adobe-dns-3.adobe.com <br />127.0.0.1 ereg.wip3.adobe.com <br />127.0.0.1 activate-sea.adobe.com <br />127.0.0.1 wwis-dubc1-vip60.adobe.com <br />127.0.0.1 activate-sjc0.adobe.com <br /><strong><em><u><br /></u></em></strong>Ahora salvamos el archivo. Solo "Guardar", no "Guardar como...".</p><p style="clear: both">Ahora abrimos el Dreamweaver, y cuando nos pida el serial ingresamos lo siguiente:</p><p style="clear: both">1325-0465-4684-3792-9574-8287 </p><p style="clear: both">Y eso es todo!!!. Espero que les sirva a varios.<br /><strong><em><u><br /><br /><br /></u></em></strong></p><br class='final-break' style='clear: both' />Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-59872306509907087062010-05-19T09:02:00.001-07:002010-05-19T09:02:42.344-07:00Problema columna computada persistedEn "el extraño caso" de hoy, està el de la columna computada persisted en SQL Server 2005. Cuenta la leyenda que luego de crear una columna computada persisted en SQL Server 2005, un informático se tuvo que enfrentar a problemas relativos a que no se pudieron realizar operaciones de update o insert sobre la tabla que tenìa asociada la columna computada, supuestamente porque los ANSI estaban mal definidos (ANSI_NULL, QUOTED_IDENTIFIER, ARITHABORT, entre otros).<br /><div><br />Esto se debe a que las columnas computadas declaradas persisted permiten la indexación, al contrario de las no persisted, y como para indexar columnas computadas o vistas es necesario que los ANSI estèn ON, y estaban por defecto en la base de datos en OFF, entonces eso era lo que estaba provocando el problema.<br /></div><div><br />Solución?. En realidad hay varias dependiendo de las condiciones. En mi caso particular decidí no hacerla persisted, por lo que entonces los ANSI ya no son exigidos, y todo funcionaría de maravillas. Y así fué, no hubieron mas errores en updates o inserts sobre la tabla.<br /></div><div><br />Aprovecho de acotar que en realidad las columnas computadas son soportadas desde SQL Server 2000, pero en ese entonces no se soportaba la propiedad persisted, que fuè habilitada en SQL Server 2005 junto con la indexacion de vistas. A lo mejor por ahi va la cosa.</div><br class='final-break' style='clear: both' />Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-68824128648619226192010-05-03T09:39:00.001-07:002010-05-03T09:39:03.447-07:00Renombrar columnas o tablas en SQL ServerEse era el problema!, como cambio el nombre de una columna o tabla en SQL Server??. Tenía una columna computada relacionada a otras dos columna, y todas debían desaparecer en beneficio de una columna que se llamaría igual que la columna computada. Para eso, cree una columna con un nombre distinto, actualice su valor en base al de la columna computada, y luego eliminé esas 3 columnas que no necesitaba. Y ahora, venía la parte en que debía renombrar la columna.<br /><div>Para esto, existe un procedimiento almacenado llamado sp_rename, cuyo uso para renombrar una columna es:<br /></div><div><br />sp_rename 'nombre_Tabla.nombre_columna', 'nuevo_nombre_columna', 'COLUMN'<br /></div><div><br />El 'COLUMN' es invariable, siempre va. Y para cambiar el nombre a una tabla, más sencillo aún:<br /></div><div>sp_rename 'nombre_antiguo_tabla', 'nombre_nuevo_tabla'.<br /></div><div><br />Y esto gracias a otro personaje que me dió el dato, y que está <a href="http://blog.sqlauthority.com/2008/08/26/sql-server-how-to-rename-a-column-name-or-table-name/" target="_blank">aquí</a></div><br class='final-break' style='clear: both' />Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-48985181081444464222010-05-03T07:21:00.001-07:002010-05-03T07:21:04.479-07:00Procedimiento almacenado de SQL Server demora mucho.<p style="clear: both">Nuevamente el titulo es bastante genérico, por lo que paso a detallar el problema. </p><p style="clear: both">El problema era el siguiente: Uso powerbuilder para desarrollar, y en esta herramienta hay un objeto que es la piedrangular de powerbuilder, que es la datawindow. Es una datagrid pero con esteroides, buenos métodos y estados. En ella se especifica una consulta sql, y con eso retorna los valores en si misma, que pueden ser modificados, ingresados nuevos valores o eliminados, y luego se llama al método update de la misma, y solita construye los insert, delete o updates necesarios para que todo quede como lo dejamos en la datawindow.</p><p style="clear: both">En fin!, generalmente cuando debo hacer informes en ella genero la consulta en el administrador de sql server para asegurarme que me traiga los resultados que necesito, y luego la copio en la datawindow. Esta consulta tenìa un parámetro, por lo que en el administrador usaba una variable para simular el funcionamiento que tendría en la datawindow, y bien!!!, demoraba 6 segundos en traer lo que que necesitaba. Copié en la datawindow, lo probé, y..... rayos!!!, demoraba 11 minutos!!!!.</p><p style="clear: both">Pensé que a lo mejor la datawindow podría estar mal, la hice de nuevo, le copie la consulta, y lo mismo. No me explicaba como la misma consulta demoraba tanto ejecutada desde la datawindow, y tan poco desde el administrador de SQL Server. Luego, pensé que llamando los resultados desde un procedimiento almacenado podría apurar un poco las cosas, y mi sorpresa fué mayor cuando luego de crear el procedimiento lo ejecuté en el mimo administrador de sql y rayos!!!, 11 minutos tambien!!!!.</p><p style="clear: both">Luego de pegarme un par de cabezasos decidí preguntar a mis colegas para ver si a alguno le habia pasado lo mismo, y llegué al jefe. Ahí me comentó que tampoco sabía porqué, pero que eso se arreglaba tomando el parametro pasado al procedimiento, asignandolo a una variable dentro del procedimiento, y luego usando dicha variable en vez del argumento del procedimiento.</p><p style="clear: both">Extrañó!, debería ser lo mismo, pero probé y chan!!!!, pasamos de 11 minutos a 6 segundos. El jefe suponía que seguramente los argumentos de los procedimientos almacenados son almacenados en un área no optimizada o muy concurrida, tal que a lo mejor por eso hay demoras excesivas para acceder al valor de dicho argumento cuando el procedimiento almacenado lo necesita.</p><p style="clear: both">En resumen, la solución pasa por tomar las variables del argumento del procedimiento, y ponerlas en variables locales al procedimiento, y luego ejecutar el procedimiento almacenado. Con esto, asunto arreglado!!!!!</p><br class='final-break' style='clear: both' />Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com2tag:blogger.com,1999:blog-8659078454630525514.post-608430933083653252010-02-15T18:53:00.001-08:002010-02-15T18:53:46.821-08:00Pc se reinicia solo<p style="clear: both">Bueno, la verdad es que este problema puede estar dado por hardware o software. Este caso apunta a un problema de software. Y la mejor forma de identificar cuando el origen está en el software es ver el arranque del sistema operativo, e irse fijando en las distintas fases del inicio: desde que aparece la pantalla de la bios, el logo de windows con la carga del mismo, la pantalla de bienvenida, y generalmente por ahì o antes es que falla. Si siempre se reinicia en el mismo punto, o definitivamente el sistema no parte, lo mejor es tratar de recurrir a un buenisima herramienta de Windows incorporada en XP llamada Restauraciòn del sistema.</p><p style="clear: both">Ahora... como acceder a un funcionalidad de windows si no podemos entrar a windows?. Pues en estos casos debemos recurrir a una herramienta externa, en particular un LiveCd que trae muchas funcionalidades interesantes, llamado ERD Commander. Sabía que en un principio la compañia que le daba soporte era Wynternals, pero fué comprada por microsoft, por lo que la mayoría de las fuentes está en blogs y pagina similares. A la pagina que le tengo fe es taringa, así que pueden descargar Erd Commander 2008 <a href="http://www.taringa.net/posts/downloads/1226455/ERD-Commander-2008-ISO-Software-para-reparar-Pc.html" target="_blank">aquí</a>.</p><p style="clear: both">Y echenle un vistazo. Una herramienta interesante es Locksmith, que permite cambiar las contraseñas de cualquier cuenta de usuario de windows. Todo puede ser usado para el mal, pero por otro lado me ha pasado muchas veces que los mismos usuarios me preguntan cuàles son sus propias contraseñas. Eso!!!</p><br class='final-break' style='clear: both' />Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-47779952530575268152010-02-14T19:17:00.001-08:002010-02-14T19:17:46.665-08:00Crear ringtone para iphoneLa verdad es que el mérito no es mío. Estaba buscando la forma de crear un ringtone para el iphone y busqué qué opciones habian y todas se referían a un método mediante el cuál hay que usar iTunes para convertir el fragmento de un archivo de música a .acc y luego renombrar este archivo a m4r, que es el formato de los tonos del iphone y que reconoce itunes, siempre y cuando dicho fragmento no sea mayor a 40 segundos. <br /><div><br /></div><div>Sin embargo la última versión de iTunes remueve esa opción, agregando además la opción de "crear tono" pero que es válida solamente para las canciones compradas en la iTunes Store. <br /></div><div><u><br /></u>Otras opciones son programas que permiten generar los ringtones directamente, pero no me gustan esos programas ya que, si te gusta piratear por ser programas poco conocidos es muy dificil pillarlos, y si lo quieres comprar no vale la pena gastar plata por un programa tan sencillo. En ese caso sirve más un método para crear ringtones mediante GarageBand que encontré<u> </u><a href="http://theappleblog.com/2008/10/30/tutorial-how-to-create-iphone-ringtones-in-garageband/" style="text-decoration: none;" target="_blank">aquí</a>. Y en ese caso si lo quieres piratear es mucho más facil pillarlo por ser más conocido, y si es por comprarlo entonces el mismo programa te servirá para mucho más que para solo hacer ringtones.<br /></div><div><br />Ahh!, olvidé mencionar que por ser GarageBand, esta opción esta disponible solo para OS X. Para la conversión de archivos en Windows recomiendo mucho FormatFactory, que también permite crear ringtones para el iphone. Este software es gratis y se puede descargar desde <a href="http://www.formatoz.com" target="_blank">aquí</a></div><br class='final-break' style='clear: both' />Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com1tag:blogger.com,1999:blog-8659078454630525514.post-72974706622380533242009-10-01T20:30:00.001-07:002009-10-01T20:30:41.134-07:00No se puede iniciar Microsoft Office Outlook 2007<p>Me pasó justamente que me vinieron con ese problema: en Windows Vista, al abrir Microsoft Outlook 2007, apareció una ventana de error que indicaba que “No se puede iniciar Microsoft Outlook. No se puede abrir esta ventana”. Y resulta que mi cliente resultó bien alentado: se contactó con Microsoft para solucionar el problema y le dieron 2 opciones, que no quiso intentar por miedo a perder su información, por lo que me llamó para que lo ayudara con ese problema. </p> <p>La primera opción era hacer partir Outlook sin complementos, para lo cuál había que ir al botón de inicio, y en el campo de texto de búsqueda escribir “Outlook /safe”, que cumplía con iniciar el outlook sin complementos. Y cuando leí esa instrucción me percaté que en vista el campo de texto de búsqueda además hace la función de “Ejecutar” en Windows XP. Wena!!. Aunque yo solía usar la combinación de teclado Windows+R para abrir la ventana con la opción de ejecutar, pero se pueden usar ambas en Vista. Esta primera opción no produjo resultados, y el error se mantuvo igual.</p> <p>La segunda opción apuntaba a que el archivo de datos podía estar dañado, para lo cuál proponen el uso de una herramienta que viene incluida con la instalación de Office, en la carpeta “Office12” dentro de archivos de programa, llamada “Scanpst.exe”. Esta herramienta abre una ventana en la cuál uno escribe o selecciona la ubicación del archivo .pst con los correos, y verifica si dicho archivo no está dañado. Y si bien la herramienta finalmente encontró errores y los reparó, no solucionó el problema</p> <p>Luego, por mi parte, probé a colocar el dvd de instalación de Office y repararlo, para luego seguir con la opción de desintalar, y luego volver a instalar, pero eso tampoco arregló el problema.</p> <p>Finalmente después de navegar un poco dí con la solución: en el mismo campo de texto de búsqueda de Windows vista, o en la opción ejecutar, hay que escribir “Outlook.exe /resetnavpane”. Y magia!!, outlook se abre sin ningun problema. Asunto solucionado.</p> <p>Ahora, qué pasó??, no lo sé a ciencia cierta. Deduzco por el nombre del comando y por lo que he visto que hay programas que instala barras de herramientas en outlook, y si a lo mejor se desinstaló dicho programa y no se pudo desregistrar correctamente de outlook, entonces la barra de navegación queda corrupta. Por ende el comando probablemente resetea la configuración de las barras de navegación a su forma predeterminada, lo cuál arregla el problema, aunque en todo lo anterior estoy elucubrando. Pero bueno!!, se arregló el problema.</p> Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com84tag:blogger.com,1999:blog-8659078454630525514.post-18466592830699158322009-06-15T14:36:00.001-07:002009-06-15T14:39:40.965-07:00Encontrar tablas con determinada columna en SQL Server<p>Wow!, hace tiempo que no escribía nada aquí en mi blog, y es que el tiempo es algo que me ha faltado muhco, sumado al hecho que cuesta escribir cosas en la pega, por temor al jefe o temas similares. Pero bueno!!, quiero volver a escribir sobre como soluciono problemas que voy teniendo, y espero que esta vez me vaya bien.</p> <p>Ok, en este caso, ocurre que necesitaba encontrar en qué tablas se encuentra una columna. Esto debido a que no siempre se conservan las claves foráneas, y solo se mantienen relacionadas de hecho producto de un mismo nombre de columna en ambas tablas (o en aquellas relacionadas con el mismo campo). Esto ayuda mucho a la hora de escribir joins o similares consultas sql, por lo que considero es una muy buena práctica. </p> <p>Bueno, volviendo al tema, necesitaba encontrar las tablas que tenían esta columna, para determinar cuál era la tabla con los valores relacionados a esta clave. Y para eso, via <a href="http://vstoolsforum.com/blogs/sqlserver/archive/2007/01/11/find-tables-that-contain-a-certain-field.aspx" target="_blank">VSToolsForum</a> encontré una excelente consulta que me ayudó a resolver el tema:</p> <pre><span class="Apple-style-span" style="font-family:arial;"></span></pre><span><span><b><i><span class="Apple-style-span" style="font-family:arial;">select sysobjects.name </span></i></b></span></span><div><span><span><span class="Apple-tab-span" style="white-space:pre"><b><i><span class="Apple-style-span" style="font-family:arial;"> </span></i></b></span><b><i><span class="Apple-style-span" style="font-family:arial;">from syscolumns</span></i></b></span></span></div><div><span><span><span class="Apple-tab-span" style="white-space:pre"><b><i><span class="Apple-style-span" style="font-family:arial;"> </span></i></b></span><b><i><span class="Apple-style-span" style="font-family:arial;">left join sysobjects on sysobjects.id = syscolumns.id</span></i></b></span></span></div><div><span><span><span class="Apple-tab-span" style="white-space:pre"><b><i><span class="Apple-style-span" style="font-family:arial;"> </span></i></b></span><b><i><span class="Apple-style-span" style="font-family:arial;">where syscolumns.name like 'myFieldName'</span></i></b></span></span></div><div><span><span><b><i><span class="Apple-style-span" style="font-family:arial;">order by 1</span></i></b></span></span><pre><span class="Apple-style-span" style="font-family:arial;"></span></pre><p>Y obviamente, debemos reemplazar el ‘myfieldname’ con el nombre de la columna que estamos buscando, y listo!!, veremos las tablas que estabamos buscando. De hecho, en la pagina aparece otra consulta que cumple con el mismo objetivo. </p> </div>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-51800736721272477962008-06-20T21:20:00.000-07:002008-06-20T21:27:34.295-07:00Hora de Sistema y Hora LinuxRelativo al post anterior, sobre como dejar un pc para reproducir video o visualizaciones de mp3 a pantalla completa en base a distintas carpetas por día de semana, y que se prenda y apague solo, debo acotar algo: No me funcionaba el que se prendiera y apagara solo!!. A nivel del bios, estaba la opción "RTC Alarm", que sirve precisamente para programar el encendido y apagado automatico del pc. El tema es que no me funcionó, y no sabía porqué, pensando que a lo mejor el problema era que realmente eso no funcionaba y punto. Pero ocurría que cuando seteaba las horas en la bios, y luego volvía a encender el PC y bootear el Linux, siempre me aparecía la hora cambiada en 4 horas (debido a mi zona horaria, que es GMT -4). Y yo siempre arreglaba esa hora. Luego, analizando el porqué no se encendía, mi cliente me llamó avisando que el pc se había encendido a las 13:30, siendo que lo había dejado programado para encenderse a las 17:30. Sumando y restando.... claro!!. Al cambiar la hora en Linux, inmediatamente me cambiaba la hora en la Bios, por eso nunca encendía a la hora que le decía, ya que Linux considera la hora de la BIOS como GMT, por ende si cambiaba la hora en el sistema, seteado en GMT -4, me cambiaba automaticamente la hora en la BIOS, retrazandola en 4 horas. Así que atención con el truquito que hace linux sobre la BIOS!, por si hay que configurar esta misma opción en otro PC.Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-33752434303313754792008-06-12T20:35:00.000-07:002008-06-12T20:53:26.502-07:00Ejecutar cadena como comando en shell linuxLa verdad es que esto surgió a raiz de que estoy configurando un pc para un local nocturno (de buena reputacion, donde sirven excelentes pizzas) cuya unica función es reproducir musica, y mostrar la visualización por pantalla. Además, está ubicado en el techo, por lo que era optimo que se manejara practicamente solo. A través de la bios habilite la Alarma RTC para que encendiera solo todos los días a las 5:30 de la tarde. Cabe decir que el pc es viejo, por lo que en pc´s más nuevos esto es más facil de configurar, incluso hay software como auto power on & shut down para windows, y otras alternativas en linux. Bueno, pude configurar el encendido automatico, y modificando el /etc/sudoers con visudo para darle permisos a mi usuario de ejecutar shutdown, pude programar el apagado automático. Luego configuré que lanzara kaffeine (reproductor de audio que me funcionó para lo que quería) al iniciar sesión, y hasta aquí todo perfecto. El tema era que el pc debía ser capaz de reproducir distinta musica dependiendo del día. Para esto, creé una carpeta llamada música, y dentro de ella distintas carpetas, por cada día de la semana. Y esta carpeta musica está compartida por samba en la red, para que puedan modificar la musica de cada día desde otro pc en la red. Y ahora viene el problema!: ¿Cómo hacer para que kaffeine reproduzca cada día la música respectiva?. Sabía que debía hacer un comando así como "kaffeine -p -f /home/usuario/Desktop/música/lunes/*". El tema era que esto funciona bien para el lunes, ¿pero y los otros días?. Entonces ahora recurrimos a la función date, que con los modificadores "date +%A" entrega el nombre del día actual. Excelente!!, ahora solo faltaba unir ambas cosas. Y el truco consiste en interpretar esta salida como parte del comando. Y para esto se usa $(), y dentro del paréntesis va lo que devuelve la función date. En resumen, el comando queda:<div><br /></div><div>kaffeine -p -f /home/usuario/Desktop/musica/$(date +%A)/*</div><div><br /></div><div>Y listo!!!, dependiendo del día de la semana, va a abrir todo el contenido de la carpeta con kaffeine. Y con esta solución completa, el pc se enciende solo a las 5:30 en pantalla completa mostrando las visualizaciones de la musica del día respectivo, y luego se apaga solo a las 4 de la madrugada. Excelente!</div>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-35975625667276399802008-06-03T16:26:00.000-07:002008-06-03T16:38:54.455-07:00Problema al grabar dvd con Sony DVD Architect 4La verdad desconozco si se habrán presentado problemas en otras versiones, pero al menos en el caso de esta versión, si. Y también desconozco si habrá ocurrido con otras unidades, pero al menos me ocurrió con una unidad grabadora de dvd LG. Y lo que ocurre es que simplemente no graba. Al introducir un dvd virgen para ser grabado, y al mandar a grabar desde este software, la grabación queda pegada en 0%, y también la unidad LG se bloquea, al punto que ni siquiera con el boton de Eject sale el dvd, y lo único que queda por hacer para volver todo a la normalidad es reiniciar el pc. Según lo que investigué, la culpa se la echan Sony a LG y viceversa, cuál Cisco y 3Com. Pero el tema es que no funciona, y lo que ocurre es que el software ocupa su propio motor de grabación, contrario a otros programas que ocupan el motor del software de grabación ya instalado en el pc, ya sea roxio o nero. Y este motor causa un problema directamente sobre el firmware de esta unidad óptica, por lo que por más que tratamos de entrar a ella o abrirla, no pesca. Así que la solución no existe!!, por lo que lo que hay que hacer es en el dvd architect grabar el proyecto en una imagen iso, y después usar el nero o el roxio para grabar esa imagen directo en un dvd. Es un paso intermedio, pero funciona.Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-43986484799885895662008-05-14T20:04:00.000-07:002008-05-14T20:14:09.848-07:00Trasladar configuración Ws-FTP a otro pcEsta estubo dificil de pillar. De hecho, no pude determinar las claves una vez que uno lo ingresa, pues son codificadas, pero basta con copiar el archivo de configuraciòn al nuevo pc para poder trasladar todas las conexiones configuradas con todos sus datos. Para esto, debemos ir a la carpeta de instalación de WS-Ftp ( en mi caso en "Program Files\WS_FTP Pro") y ahí buscar y copiar el archivo "ipswitch.ini". Luego, en la nueva instalaciòn de ws-ftp, deben ir a esta misma ruta, y reemplazar el archivo existente con el archivo que traen del otro pc. Con esto, al abrir de nuevo el ws-ftp deberìan aparecer nuevamente todas las conexiones configuradas en el otro pc.Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-48686495135076119652008-05-14T19:59:00.000-07:002008-05-14T20:04:22.030-07:00Guardar configuracion PuttySiempre supe que putty no podìa guardar su configuración en un archivo, por lo que lo más lógico era que lo guardase en el registro de windows. Y efectivamente es así!. Basta con ir a la ruta HKEY_CURRENT_USER\Software\SimonTatham. Luego hacemos click con el boton derecho sobre la carpeta Putty, y seleccionamos la opción "exportar", y seleccionamos donde queremos guardar el archivo, que puedes nombrar putty.reg. Luego, en el otro pc, o a donde quieras llevar tu configuracion, hacemos doble click sobre el archivo, autorizamos el ingreso de estos datos en el registro, y eso es todo!!, deberíamos tener todo funcionando igual que en el pc origen.Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com5tag:blogger.com,1999:blog-8659078454630525514.post-37179042237902990692008-05-12T21:06:00.000-07:002008-05-12T22:00:36.042-07:00Word lentoCreo que aún me falta por averiguar un poco más, pero estoy dándole crédito a las impresoras de red. De hecho, pretendo averiguar más, pero por ahora, es una solución rápida.<div><br /></div><div>Pasa particularmente en pc´s que son mas lentos, o con poca RAM, pero cuando se trata de abrir un documento word en algunos pc´s, éste demora demasiado en partir, mucho!. Cuando me pasó eso, intuitivamente me fuí al visor de procesos, y noté que el spoolsv.exe estaba ocupando una buena cantidad de CPU. Este proceso corresponde al proceso de la cola de impresión. Si no necesitan ese proceso, o si al menos durante la sesión actual necesitan una solución rápida, lo que deben hacer es hacer click con el boton derecho sobre Mi PC, y luego click en "administrar". Luego, en el arbol de navegación izquierdo de la ventana emergente, click en "Servicios y Aplicaciones"->"Servicios", y buscar entonces en la lista de procesos de la derecha aquél llamado "cola de impresión". En cuanto hagan click encima de ese proceso (un solo click) aparecerá la opción de detener el servicio bajo el titulo del mismo en esa misma ventana.</div><div><br /></div><div>Pueden detener el servicios sin problemas, ya que al iniciar sesión de nuevo, éste se activará. Notar que mientras este proceso esté detenido, no podrán imprimir nada, pero al menos servirá para poder abrir el word, y rápido.</div><div><br /></div><div>Update: Bueno, ya vi la solución definitiva. Ya había mencionado antes que la solución a este problema, también originado por el proceso wmiprvse.exe al 100% era eliminar los archivos que estuvieran sin imprimir en las impresoras, o sea, que estuvieran en la cola de impresión. Otras soluciones son: eliminar los archivos de la carpeta C:\Windows\System32\spool\printers, desactivar la cola de impresión en todas las impresoras, pero particularmente en mi caso el problema era que en el pc tenía instalada una impresora de red conectada a otro equipo, que a veces estaba encendido, y además esta impresora estaba como predeterminada. Simplemente dejé otra impresora local como predeterminada (puede ser cualquiera) y el word volverá a abrir como siempre!.</div>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-21138211459069191122008-05-05T12:20:00.000-07:002008-05-05T12:32:32.121-07:00Correos Hotmail en GmailBueno, a lo mejor para muchos no es un problema. De hecho, un amigo mío tiene configurada una cuenta de gmail para traer correos de hotmail y le funciona sin problemas. Pero extrañamente a mi no me funcionó nunca, y a mucha gente que he visto en foros le ha pasado lo mismo. <div><br /></div><div>Para los que no sepan, si tienen una cuenta de gmail pueden ir a configuración->cuentas, e importar sus correos de otras cuentas directo a gmail, para así tener el correo concentrado en un solo lugar.</div><div><br /></div><div>Y bueno!!, el caso es que no me funcionaba el tema de gmail. Con otras cuentas que tenía y que servian mediante POP3, no tuve ningún problema para configurarlo en gmail, pero en le caso de hotmail, simplemente no me dejó. Y la solución llegó de la mano de <a href="http://pyropus.ca/software/getmail/">getmail</a>, un programa que permite configurar una cuenta de "origen", en este caso hotmail, y una cuenta "destino", en este caso mi cuenta de gmail, y este programita se encarga de descargar mis correos desde hotmail, y enviarlos a Gmail. La ventaja, es que tienes finalmente todos tus correos centralizados en un solo lugar, y no solo funciona con hotmail, sino con varios otros servicios. Lo malo, es que es una solución "amarrada con alambre", ya que dependemos de que nuestro pc esté encendido para que funcione, lo cuál limita esta funcionalidad a un pc que esté siempre encendido, o a usar siempre el mismo pc. Y lo otro malo es que en mi cuenta de gmail, los correos que llegan de hotmail pierden el remitente, es decir, desaparece la direccción del remitente original, y aparece la nuestra de hotmail. Pero funciona!!. Ya veremos cómo hacer para que funcione bien directo desde gmail. A lo mejor algo se me ha olvidado, y por ahora no lo sé, pero cuando lo sepa lo anotaré aquí.</div>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-39776335691655145442008-04-30T15:41:00.000-07:002008-04-30T16:01:33.441-07:00Internet no funciona en redQué problema tan común!!!. Ahí puede ser culpa del isp, que el cable de red esté mal, entre muchas otras variables, pero ahora me refiero a otro punto. <div>Ya me ha pasado 2 veces que he ido a lugares con varios pc´s, donde no hay internet. En este caso particular, hay un síntoma que permite descubrir rapidamente si hay problema: un puerto de red en el router o switch donde la luz indicadora de actividad parpadea muy rapidamente. Si desconectan ese punto de red, y ningun otro punto de red presenta el mismo comportamiento, se podrá apreciar cómo internet vuelve a todos los pc´s de la red. Ahora, esto se puede deber a varios bichos, por lo que pasar un buen antivirus (Nod32 v3.0 es lo que recomiendo) debería solucionar el problema en el plazo que toma el analisis completo del pc. Pero para dar una rapida solución, revisen las luces de sus concentradores: si parpadean muy rapida y frecuentemente, sin interrupción, les aseguro que hay algo raro. </div><div><br /></div><div>Ahora, esto pasa cuando en el router se puede ver que hay conexión a internet. Cuando no hay conexion, es decir, cuando en la puerta wan no se aprecia una ip publica (es decir, una que no sea 192.168.X.X o 10.X.X.X o 172.16-32.X.X) puedes probar desconectando el modem 10 segundos, y luego volver a enchufarlo. Si esto no soluciona el problema, y si además desde el pc que quieres salir a intermet ves la pagina de configuración del router, entonces fijo que el problema es de su isp. </div><div><br /></div><div>Al menos aquí en Chile siempre que uno llama pidiendo soporte porque no hay internet, lo primero que la gente de soporte hace es echarle la culpa al cliente, y ellos aseguran que están bien. Contra ese tipo de problemas les digo que la única solución es ponerse serios, firmes, y si manejan algo de terminología informática, haganla saber, para que quién da soporte sepa que no está hablando con alguien que no sepa del tema. Solo así la gente de soporte empieza a moverse por tratar de solucionar el problema, luego de echarles la culpa y de pedirles que desconecten el modem, lo tengan desconectado 10 segundos, y lo vuelvan a conectar.</div><div><br /></div><div>Así, como dije antes, si pueden ver la pagina de configuración del router desde cualquier pc de su red, es porque su red está bien, y el problema no es suyo, sino de la compañía. Esprero sirva de ayuda sobre todo a aquella gente que no sabe qué hacer cuando no tiene internet.......mm.. y que si llega a tener ese problema, no podrá ver este post. jejeje!!.</div>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-46906932297261678602008-04-18T14:31:00.000-07:002008-04-18T15:00:55.156-07:00conexiones remotas a mysql por shell en linux<span class="Apple-style-span" style="font-size: small;">Si, debo confesarlo: soy un hijo de las interfaces gráficas. No porque lo haya escogido, sino porque simplemente era muy pequeño para valorar las consolas, y muy ingenuo para creer que servirían para algo. Hoy, sigo creyendo que es mejor tener una interfaz gráfica, pero reconozco el poder de las consolas. </span><div><span class="Apple-style-span" style="font-size: 13px;">En este momento estoy supervisando un servidor con centOS, y la verdad es que me ha tocado aprender a la mala cómo manejar un servidor con pura consola. Ahí apt ha sido el salvador de varias situaciones, pero decidí enfrentar mis temores, y resolver todo con pura consola, teniendo en mente en algún momento ofrecer soporte gráfico para varias funciones. </span></div><div><span class="Apple-style-span" style="font-size: 13px;">Y bueno!!, necesita acceder a una base de datos mysql en este servidor pero desde fuera, para poder usar en particular un programa muy bueno y que lo recomiendo a todos llamado <a href="http://www.sqlmaestro.com/products/mysql/maestro/">Sql Maestro para Mysql</a>, que es genial para todo tipo de tareas. También hay versiones para oracle, postgre, sql server, firebird, incluso una llamada anysql, gratuita y que permite conectarse con cualquier base de datos siempre que tengas configurado un conector odbc en tu sistema.</span></div><div><span class="Apple-style-span" style="font-size: 13px;">Y el tema es que no me podía conectar para generar el perfil en este programa, por lo que empecé a averiguar cómo hacerlo. Leí sobre el archivo /etc/my.cnf, pero en mi caso no tenía información sobre los hosts. Luego pensé en los archivos /etc/hosts y /etc/hosts.allow, pero ninguno me solucionó el problema. Y como siempre, después de googlear un buen rato, di con la respuesta.</span></div><div><span class="Apple-style-span" style="font-size: 13px;">Obviando la configuración del firewall, lo único que hay que hacer para conectarse desde fuera es asignar permisos a un usuario indicando el host desde el que se conectará. Esto es:</span></div><div><span class="Apple-style-span" style="font-size: 13px;"><br /></span></div><div><span class="Apple-style-span" style="font-size: 13px;">grant all privileges on BASEDEDATOS.TABLA to USUARIO@HOST;</span></div><div><span class="Apple-style-span" style="font-size: 13px;"><br /></span></div><div><span class="Apple-style-span" style="font-size: 13px;">En mi caso, no existía yo como usuario en la base de datos, por lo que quería agregarme, setear mi contraseña, definir las bases de datos a las que me podía conectar y desd ele lugar que podía hacerlo, por lo que en mi caso la cosa fué:</span></div><div><span class="Apple-style-span" style="font-size: 13px;"><br /></span></div><div><span class="Apple-style-span" style="font-size: 13px;">grant all privileges on *.* to 'ivan'@'%' identified by 'password';<br /></span></div><div><span class="Apple-style-span" style="font-size: 13px;"><br /></span></div><div><span class="Apple-style-span" style="font-size: 13px;">Evidentemente no puse la password. El % es para indicar que me puedo conectar desde cualquier host. Y si bien esto es bastante peligroso, espero poder arreglarlo luego con una cuenta dyndns que voy a empezar a sacarle el jugo luego. Y eso!!, con esto ya se pueden conectar desde fuera, siempre que el firewall no bloquee el puerto 3306.</span></div>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com2tag:blogger.com,1999:blog-8659078454630525514.post-78284646511548827542008-04-15T13:01:00.000-07:002008-04-16T21:29:28.859-07:00Click en carpeta abre la misma carpeta de nuevo<span class="Apple-style-span" style="font-size:small;">Este problema es causado por un gusano llamado Brontok. Posee otros varios nombres, pero este es su rol principal. Y una de sus características es que genera en carpetas como "Mis Documentos" un archivo que posee el mismo icono que los iconos de carpetas de windows, por lo que se ve como si fuera una carpeta más, pero al hacer click se activa, y abre una nueva ventana mostrando la misma carpeta que lo contenía en un principio. Además suele abrir una ventana del navegador para mostrar una pagina de fondo verde y letras blancas y rojas mostrando un mensaje cuyo idioma desconozco. Otro riesgo que presenta es que se puede propagar a través de los recursos compartidos de windows, por lo que puede propagarse a más equipos en una red. AVG no lo elimina, ni tampoco ningún antivirus como tal. Personalmente, instalando nod32 v3.0 he podido eliminar esa infección sin problemas. Probablemente kaspersky también pueda, aunque no lo he probado. Así que si se les presentan estos sintomas, nod32 es la solución probad</span><span class="Apple-style-span" style="font-size:medium;">a.</span>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-37589857017053547892008-04-15T10:37:00.000-07:002008-04-16T21:30:00.739-07:00Visual Basic 6, Mysql y tipo de dato Decimal<span class="Apple-style-span" style="color: rgb(255, 255, 255); line-height: 14px; font-family:Verdana;font-size:11px;"><p style="line-height: 130%; "><span class="Apple-style-span" style=""><span class="Apple-style-span" style="color: rgb(0, 0, 0);"><span class="Apple-style-span" style="font-family: georgia;"><span class="Apple-style-span" style="font-size: small;">Bueno, trabajando en un proyecto con visual basic 6, appserv 2.5.9 (con mysql 5.0.45), que la verdad no era mío, sino que estoy terminando y arreglando, me pasó el siguiente problema. El entorno de trabajo en donde estaba el proyecto era visual basic 6, appserv 2.4.2 (ignoro la versión de mysql) funcionaba bien, pero al pasar el proyecto a mi entorno, empezaron a aparecer problemas. Decía visual basic que se produjeron errores. ¿Qué habia cambiado?. Mmm.... appserv(con mysql). Pero no podía ser!!, cómo algo viejo funciona, y algo nuevo no?. Bueno, me lo explicaba porque cuando salen nuevas versiones de los productos son para arreglar problemas de las versiones anteriores, y muchas veces las aplicaciones funcionan gracias a esas fallas de seguridad. Para qué comentar el caso de las aplicaciones desarrolladas en php y register_globals.</span></span></span></span></p><p style="line-height: 130%; "><span class="Apple-style-span" style=""><span class="Apple-style-span" style="color: rgb(0, 0, 0);"><span class="Apple-style-span" style="font-family: georgia;"><span class="Apple-style-span" style="font-size: small;">Pero bueno!!, revisando documentación llegué a la información que necesitaba, y que por sobre todo, quería. No era mysql, ni appserv. Era algo que no había pensado aún.... el conector ODBC de Mysql!!!. La versión 3.51.11 del conector daba problemas con el tipo de dato decimal, produciendo un BOF en el recordset, que daba un error. La forma de solucionar esto estádesde la versión 3.51.12 en adelante, pero la última versión está bien!!, jejeje!!. He aquí el vínculo a la versión 3.51.22 en Chile </span></span></span></span><span class="Apple-style-span" style=""><a href="http://mysql.tecnoera.com/Downloads/Connector-ODBC/3.51/mysql-connector-odbc-3.51.22-win32.msi"><span class="Apple-style-span" style="color: rgb(0, 0, 0);"><span class="Apple-style-span" style="font-family: georgia;"><span class="Apple-style-span" style="font-size: small;">Mysql Conector ODBC 3.51.22</span></span></span></a></span><span class="Apple-style-span" style=""><a href="http://mysql.tecnoera.com/Downloads/Connector-ODBC/3.51/mysql-connector-odbc-3.51.22-win32.msi"><span class="Apple-style-span" style="color: rgb(0, 0, 0);"><span class="Apple-style-span" style="font-family: georgia;"><span class="Apple-style-span" style="font-size: small;">.</span></span></span></a></span></p></span>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-85826316025501875572008-04-15T10:36:00.000-07:002008-04-15T10:37:10.276-07:00Problema uso 100% de cpu por proceso wmiprvse.exe<span class="Apple-style-span" style="color: rgb(255, 255, 255); font-family: Verdana; font-size: 11px; line-height: 14px; "><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Bueno, hace tiempo que no escribía nada, y por ello haciendo una cotización recordé una de las razones de este blog, y es para mi uso y beneficio personal también, jejeje!!. Especificamente para anotar las cosas que he tenido que arreglar, cosa que si se me presentan de nuevo tenga un lugar donde poder revisar la solución que empleé en su momento. Aquí un caso</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Ocurre que me llamaron para ver un equipo que se encontraba particularmente lento, y no se sabía la razón. Fuí a revisarlo y pude ver que el proceso wmiprvse.exe estaba ocupando buena parte de la cpu, manteniendo el uso general de cpu al 100%. En este caso noté también que el proceso spoolsv.exe (si no me falla la memoria) también se encontraba entre los que más usaban cpu. Después de navegar varias horas por los foros del internet sin llegar a alguna solución definitiva o satisfactora, decidí usar mi instinto (que me ha salvado bastante estos días) y empecé a averiguar sobre los procesos.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Wmiprvse.exe es un proceso que está relacionado con la comunicación del sistema con la red, y de coordinar la comunicación de procesos hacia la red, es decir, es propio de windows. Spoolsv.exe es el proceso de la cola de impresión del sistema. Sumando y restando, debía haber algo entre la cola de impresión y la red, por lo que me fuí directo a la carpeta de impresoras. Ahí estaban las típicas impresoras con el nombre de "Detectando xxxxxx en xxxxx" y además unas impresoras de red que estaban instaladas en forma local y compartidas en red, pero que luego fueron cambiadas a otra oficina u otro pc. Ahí noté que habían 2 impresoras de red, una local compartida y otra de la red que tenían en total 60 documentos en las colas de impresión: 51 en la local, 9 en la remota. Abrí las impresoras, eliminé los documentos de las colas, y luego eliminé las impresoras, ya que no se estaban ocupando. Y asunto resuelto!!. Reinicié por si algo se volvía a iniciar, cosa que no fué así. Y listo!, asunto resuelto. Suerte a los que prueben lo mismo!!.</span></p></span>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com2tag:blogger.com,1999:blog-8659078454630525514.post-22082938817646314622008-04-15T10:35:00.000-07:002008-04-15T10:36:25.347-07:00Problema placa asus y disco seagate<span class="Apple-style-span" style="color: rgb(255, 255, 255); font-family: Verdana; font-size: 11px; line-height: 14px; "><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Este es uno de esos problemas extraños de hardware que a los informáticos nos encajan creyendo que somos electrónicos, pero que finalmente igual tenemos que ver, ya sea porque nos lo pide algún familiar o amigo o algún cliente.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Hace un tiempo donde trabajo, que es con mi padre, nos dedicabamos a vender pc´s, además del desarrollo de software y otras cosas. Después de vender varios equipos, y de ver que realmente no se vendía mucho, y que por el hecho de vender un equipo estabas sentenciado a darle soporte de por vida, y que al primer problema perdías el delta por la compra, decidimos inmediatamente dejar de vender, pués a menos que uno venda en haaaaarto volumen, es un mercado muy saturado con pocos margenes, y que el final no sale a cuenta. El tema es que aún así sigo asesorando a mis clientes sobre donde comprar, y qué comprar. Y resulta que ahí me pasó lo siguiente</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Un cliente me pidió asesoría para un pc justo antes de navidad, por lo que si bien le vendían todas las piezas, se lo iban a poder tener armado solo hasta después del 25, por lo que le ofrecí que comprara las piezas, que se las entregaban altiro, y que yo se lo armaba. Le había recomandado una serie de cosas, y que por ser navidad no había ninguna, y en vez de venderle una placa intel le vendieron una asus. Esas placas no son malas, pero he tenido muchos problemas con esas placas desde que empezaron a aparecer los procesadores doble nucleo.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">En este caso, le armé el pc, y cuando lo encendía por primera vez no me detectaba el disco duro, que era un seagate sata de 80gb. Pero si apretaba el boton de reinicio, ahí lo detectaba y partía de inmediato. No era grave, por lo que le entregué el pc a mi cliente para que pudiera tenerlo para navidad, y le dije que después de que pasara la noche buena lo veríamos. Después de navegar mucho por internet, y de probar actualizar la bios (cosa que arregló un error de la placa al partir el pc, que decía algo de "ucode error") y de cambiar el disco de 80 gb por uno de 250gb (cosa que si funcionó, ya que este disco lo pudo detectar la bios altiro, pero que era mío), decidí hacer lo que la experiencia me ha enseñado: tirarle el cacho al otro. Así que lo llevé a la tienda donde compramos las piezas, y les dije que me dijeran qué podían hacer. Después de catetear bastante, y de que me reemplazaran el disco por otro creyendo que estaba malo, el técnico me dijo que el modelo de esa placa y el modelo de ese disco eran incompatibles, por lo que tenía que cambiar el disco por otro. Y claro!!, le coloqué un western digital sata 7200rpm de 80 gb, y partía al toque. Así que esa es la solución!!, no funcionó ni actualizar la bios, sino solo cambiar el disco por otro. Espero que les sirva de ayuda. Nos vemos!.</span></p></span>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0tag:blogger.com,1999:blog-8659078454630525514.post-83079032597888256332008-04-15T10:34:00.000-07:002008-04-15T10:35:39.110-07:00Recuperar contraseñas de Outlook 2003, 2007<span class="Apple-style-span" style="color: rgb(255, 255, 255); font-family: Verdana; font-size: 11px; line-height: 14px; "><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Resulta que en versiones anteriores de outlook, y actualmente en outlook express era posible exportar en un archivo .iaf la configuración de la cuenta de correo. Siempre en estos programas está la opción de exportar la libreta de contactos, correos, calendario y demases, pero esa opción desapareció en outlook 2003 y 2007. Es lamentable, pues no sé cómo pretende la gente de microsoft que uno respalde la configuración de su cuenta o cuentas de correo. Por lo mismo, y apoyado también por la ignorancia de ese momento, siempre que respaldaba una cuenta de correo si bien conservaba los mensajes y demases, perdía las contraseñas de las cuentas de correo, que es lo único que no se puede ver después de ingresado a la configuración del outlook.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Por ello aquí aparece el superhéroe de la historia, que es un software llamado </span><span class="Apple-style-span" style="color: rgb(0, 0, 0);"><a href="http://www.nirsoft.net/utils/mailpv.zip">Mail Pass View</a><a href="http://www.nirsoft.net/utils/mailpv.zip" target="_blank" style="line-height: 130%; font-weight: inherit; text-decoration: none; ">er</a></span><span class="Apple-style-span" style="color: rgb(0, 0, 0);"> que precisamente permite leer la configuración de las cuentas de correo no solo de outlook, sino también de otros varios programas como windows mail, incredimail, thunderbird, y las contraseñas de las cuentas de correo almacenadas en msn messenger, yahoo messenger, y google talk.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Nuevamente, el programa aquí: </span><span class="Apple-style-span" style="color: rgb(0, 0, 0);"><a href="http://www.nirsoft.net/utils/mailpv.zip">Mail Pass Viewer</a></span></p></span>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com8tag:blogger.com,1999:blog-8659078454630525514.post-31819654006569023352008-04-15T10:33:00.000-07:002008-04-15T10:34:15.230-07:00Actionscript 3, botones y eval()<span class="Apple-style-span" style="color: rgb(255, 255, 255); font-family: Verdana; font-size: 11px; line-height: 14px; "><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">En el nuevo Flash cs3 se introdujo (si no estoy mal) el nuevo actionscript 3. Una evidente prueba de que ahora adobe estaba metiendo las manos en el código de macromedia para ajustar las cosas a su medida. Como en general las cosas tienden a mejorar y no al revés, empecé a desarrollar un proyecto directo en actionscript 3, y me he encontrado de inmediato con 2 sorpresas.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">La primera es que estaba generando un botón, y cuando me fuí al panel de acciones, no permitía agregar acciones. Luego de un reinicio del programa y del equipo, me di cuenta que a lo mejor había algo más. Buscando en las inmensidades de san Google, éste me reveló que actionscript ya no soporta la inclusión de codigo en simbolos de tipo botón. Ahora todo se va a manejar con listener. Esto significa que ahora el código va solo a nivel de fotogramas y clips de películas, por lo que hay que referenciar al boton por su nombre de instancia, y crear un listener que ejecute una función cuando se detecte un click sobre el objeto deseado. En particular, este fué el código que tuve que usar para mi botón:</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">function click_stand(evento:MouseEvent):void<br />{<br /> var stand:Object=evento.target.parent;</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">..........<br />}</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">feria.addEventListener(MouseEvent.MOUSE_DOWN, click_stand);</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Es decir, cuando dentro del clip llamado feria, que es donde está mi botón, se produce un evento de ratón que implica que se hizo un click, se llamará a la función click_stand, donde se pasa como parámetro el evento que se produjo, y dónde se produjo. La línea que le sigue la explico más adelante.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Ok!!!!, pense, problema solucionado. Ahora, cómo necesito manejar varios objetos numerados en forma consecutiva, usaré el viejo eval() para ahorrarme el tener que repetir el mismo código 500.000 veces cambiando el número en cada uno de ellos. Y sorpresa!!, eval() también desapareció por completo de actionscript 3. Qué hacer??, bueno, en este caso se utiliza una alternativa que antes ya existía, pero solo de flash mx (si no me equivoco) empezó a utilizarse como tal, y no solo como operador para acceder a los elementos de un arreglo, que son los [].</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Es decir, ahora en vez de usar eval(variable), se debe usar this[variable]. Genial!!, a nivel local a los objetos funciona impeque, pero en mi caso el código estaba en otro ámbito, por lo que ahí empecé a tener problemas. No encontré nada, por lo que tuve que empezar a picar, y usar el viejo prueba y error. Finalmente pude llegar a la respuesta que está a continuación</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">function click_stand(evento:MouseEvent):void<br />{<br /> var stand:Object=evento.target.parent;</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);"> switch(stand.currentLabel){<br /> case 'disponible': stand.gotoAndStop('reservando');<br /> break;<br /> case 'reservando': stand.gotoAndStop('disponible');<br /> break;<br /> case 'reservado': stand.gotoAndStop('disponible');<br /> break;<br /> }<br />}</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">feria.addEventListener(MouseEvent.MOUSE_DOWN, click_stand);</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">En este caso, evento:MouseEvent almacena la referencia al objeto que llamó a la función, o en este caso, el objeto al cuál se le hizo click. Luego usando target se puede accesar al objeto que está en el nivel más bajo dentro de los cuáles se hizo click. Es decir, si tienes un boton dentro de una película dentro de otra película, target devolverá la referencia a ese boton. Pero como a mi me interesaba la película que estaba antes de ese botón, entonces agregué el parent. Luego dentro del switch usé stand,currentLabel, siendo esta propiedad el nombre con el cuál fué etiquetado el fotograma en que se encuentra actualmente el objeto referido por la variable stand, que es un clip de película como mencioné antes.</span></p><p style="line-height: 130%; "><span class="Apple-style-span" style="color: rgb(0, 0, 0);">Eso!!, espero que les sirva de ayuda a aquellos que tengan alguna duda. Cualquier consulta o aporte, aquí estamos.</span></p></span>Ivanhttp://www.blogger.com/profile/11471009065595231951noreply@blogger.com0