Mostrando las entradas con la etiqueta windows. Mostrar todas las entradas
Mostrando las entradas con la etiqueta windows. Mostrar todas las entradas

2024/08/18

WordStar en Windows 10



Recientemente, Robert J. Sawyer, el reconocido escritor de ciencia ficción, publicó que escribía sus novelas usando WordStar, el mejor procesador de textos que haya conocido.

No es el único que opina igual, también se cuenta entre sus usuarios a Anne Rice, autora de “Entrevista con el Vampiro” y George R. R. Martin, autor de “Juego de Tronos”.

Y eso que WordStar es abandonware. Es decir, software muy antiguo que ha dejado de mantenerse e incluso de distribuirse de manera oficial.

Las copias que circulan por ahí se debe a una comunidad de usuarios entusiastas. Como Robert J. Sawyer.

Tampoco corre ya en los sistemas operativos modernos, a menos que se haga uso de algún emulador.

En su página sobre el tema, Science Fiction Writer Robert J. Sawyer: WordStar 7 Archive, cuenta más al respecto y facilita el procedimiento para hacer lo mismo.

C:\
cd WS
ws
  • El montaje del drive se tendría que hacer cada vez que se ingresa a DOSBox-X. Pero se puede automatizar, agregando en el archivo de configuración dosbox-x.conf una línea como:
mount C: C:\dos-c

2022/06/24

Cómo instalar Jenkins en Windows



¿Quieres instalar este poderoso servidor de automatizaciones en una máquina windows? Te cuento el procedimiento que seguí y me funcionó tanto en Windows Server 2019. Para Windows 10 Home Edition fue necesario hacer un parche previo.

Cómo instalar Jenkins en Windows 

2017/05/24

Emponderar a los usuarios

Cuando estaba en la universidad, retomé el contacto con las computadoras después de un largo tiempo y conocí el DOS de Microsoft.

Estaba frente a una pantalla negra con el prompt C:\> esperando a que ingresara algo. Cuando lo hacía, me respondía.

Me sentía fascinado.

Aprendí a usar casi todos los comandos de la consola, y a programar nuevos comandos.

  • En la consola command, se pueden ejecutar comandos cuyas salidas pueden ser entradas de otros comandos.
  • Se pueden crear fácilmente nuevos comandos batch ejecutables desde la consola. Ya que los batch son archivos de texto simple y la consola tiene algunos comandos para generarlos.
  • Un comando podría generar nuevos comandos dinámicamente. Es decir, un batch se podría generar dentro de la rutina de un comando y ser ejecutado luego dentro del mismo comando.
  • Los programas de pantalla completa, aunque impresionantes, rompen el esquema de reutilización de comandos al apropiarse de toda la interfaz.
Más tardee, conocí Linux y la consola de comandos bash, donde se pueden observar puntos similares.


En la interfaz gráfica de Windows, en cambio:
  • En el escritorio, se pueden ejecutar aplicaciones, pero estas ejecuciones son aisladas y no se puede realizar ejecuciones compuestas donde la salida de una aplicación sea la entrada de otra, dinámicamente.
  • No hay herramientas para construir fácilmente nuevos programas desde el escritorio. Las aplicaciones no son interpretadas, sino ejecutadas desde un binario, y construir ese binario requiere conocimientos y herramientas especializadas.
  • No hay una forma sencilla de construir aplicaciones que puedan generar otras aplicaciones dinámicamente, dentro de su ejecución. No es sencillo construir compiladores.
  • La reutilización de las características de una aplicación es difícil. Cada característica está pegada a la aplicación. Cada mejora de características requiere una nueva versión realizada principalmente por quienes la programaron.
Algo parecido se puede decir de las interfaces gráficas de Linux (Gnome) y de la Mac (OSX), que vine a conocer luego.


En la interfaz gráfica de la Web, en el browser, se muestra una aplicación:
  • Cómo hacer que la aplicación sea un entorno donde se puedan ejecutar componentes que puedan componerse para formar nuevos componentes?
  • Cómo hacer que sea fácil crear componentes con los componentes presentes en el entorno?
  • Cómo hacer que un componente pueda generar dinámicamente otros componentes dentro de su ejecución?
  • Cómo prevenir que un componente pueda apropiarse de la interfaz?

Me parece distinguir que ese conjunto de características facilita que un sistema pueda ser extendido con la participación de sus usuarios.

El conjunto de comandos DOS y bash, puede ser fácilmente extendido por sus usuarios. Habrá programadores capaces de hacer nuevos binarios, pero la capacidad de hacer scripts, batch o bash, está disponibles de inmediato.

El conjunto de aplicaciones en Windows (o Gnome, o OSX) no puede ser fácilmente extendido por sus usuarios. Sólo puede serlo a través de programadores capaces de hacer nuevos binarios.

Uno se puede preguntar si esta limitación es puesta a propósito.

Al limitar que los usuarios puedan extender el sistema que usan, las empresas proveedoras de software se aseguran el papel de intermediarios, entre los usuarios y las soluciones que los usuarios requieren.

Y es conocido en el comercio que el intermediario siempre gana.

Así que me parece que la cuestión de limitar la extensibilidad del sistema por parte de los usuarios puede ser algo diseñado.

Sin embargo, ¿por qué ocurre también en la interfaz gráfica de Linux?. Siendo la comunidad Linux un fuerte representante del movimiento de software libre (promotor de dar a la gente la libertad de usar el software como quiera), esperaría que hubieran escritorios que permitieran componer aplicaciones visualmente, siguiendo la filosofía de composición de comandos que está presente en la consola.

Quizás sea que están distraidos por las complejidades de otros problemas.


Pero me parece que resolver esta situación sería muy interesante. Un escritorio así, emponderaría a los usuarios para crear cosas, sus propias cosas, y compartirlas en comunidad.

A mediados de los 80, Hypercard, de Bill Atkinson, fue una aplicación gráfica que facilitaba a los usuarios la creación de sus propias soluciones y a compartirlas. Atkinson insistió en que se distribuyera de modo gratuito Apple insistió en encontrarle alguna manera de obtener ganancias. Finalmente, el desarrollo de Hypercard se estancó y Steve Jobs canceló su desarrollo, cuando volvió a mediados de los 90.

Aunque hoy hay fans que recuerdan el legado de Hypercard, me parece que se enfocan más en las cualidades técnicas (como la interfaz gráfica, que sirvió de inspiración a VisualBasic y otras herramientas), que en la cualidad social de emponderar a los usuarios para hacer sus propias soluciones.


Quizás sea posible implementar la idea en la web, usando componentes que puedan componerse para formar nuevos componentes, tanto a mano como dinámicamente.

Quizás React pueda ser una buena opción para eso. (Sin embargo, la forma en que se suele usar React, con Webpack para generar compilados, parece una especie de barrera. A veces parece como si las compilaciones fueran una forma de dejar fuera a los demás y ponerse uno como intermediario.)

2017/05/10

Solución al problema del high DPI con Freeplane en Windows 10

En una computadora corriendo Windows 10 con pantalla con high DPI (de muy alta resolución, por ejemplo, 4K), algunos programas (como Photoshop CS6, GimpShop, Inkscape y Freeplane), muestran los menús o botones de un tamaño diminuto, casi ilegible.

Freeplane es una de las aplicaciones que muestra botones diminutos
en panallas con high HDPI


Para Inkscape funcionó bien el truco de declarar un .manifest: http://www.danantonielli.com/adobe-app-scaling-on-high-dpi-displays-fix/

Quizás porque Freeplane es un programa que corre bajo Java, el truco del manifest no funcionaba. Finalmente, pude solucionarlo entrando a las propiedades del ejecutable freeplane.exe: Compatibility, Override high DPI scalaing behavior. Scaling performing by: System


Propiedades de freeplane.exe
Luego del cambio, los botones aparecen con un tamaño adecuado:

Luego de indicar que el escalamiento high DPI será
manejado por el sistema

Sabiendo esto, comprobé con Inkscape (sin ningun .manifest) que también funcionaba. Así, este método es una alternativa más simple al de ener que crear el .manifest.

2011/10/04

Solucionar puerto 80 ocupado luego de Webmatrix

Resolver esto me ha tomado un tiempo. Espero le resulte de ayuda a alguien.

Luego lo desinstalar Webmatrix (La versión 1.0 me parece, en Windows 7), encontré que XAMPP no podía usar el puerto 80 como antes.

Con la idea de averiguar qué proceso lo ocupa, ejecuto en la consola de comandos, como administrador:

netstat -anb

pero aparece que no hay información disponible sobre el proceso que ocupa el puerto 80.

Usando la utilidad tcpview (de Sysinternals), veo que el proceso es el mismo System, con PID 4.

Hago telnet localhost 80 y veo que quién está atendiendo es Microsoft-HTTPAPI/2.0

Reviso en el Panel de Control, Herramientas Administrativas, Servicios, y desactivo "Servicio Agente remoto para Microsoft Web Deploy 2.0."

Eso era. Al parecer un issue de Webmatrix. Ahora XAMPP ya puede iniciar en el puerto 80.

Referencias

2011/06/07

Acceder a un Server en Virtualbox desde el Host

Virtualbox es una aplicación que permite instalar un sistema operativo dentro de otro. Por ejemplo, puedo instalar Ubuntu Linux dentro de Windows 7. En el caso que describo a continuación, está instalado Windows XP dentro de Ubuntu Linux (Natty Narwhal).

Por qué
Al requerir un entorno de desarrollo Drupal que sea portable, la solución que encontré fue usar XamppLite portable (disponible para Windows) en un USB.

Como trabajar directamente en el USB me parece muy lento, copio el directorio de xampplite al disco duro y trabajo allí. Luego, al final del día, sincronizo esa copia con el USB.

Como todo el estado de la base de datos MySQL está en los archivos generados, al copiarlos todas las bases de datos, tablas y cambios se reflejan idénticamente.

Al volver a trabajar en Linux, me interesó encontrar un modo de levantar el xampplite. Intenté con Wine y, aunque arranca el panel de control de xampp, no se puede iniciar el servidor apache. Entonces, lo hice con Virtualbox.

Instalé Virtualbox 4.0.8 para Ubuntu y allí instalé Windows XP.

De modo que, en la jerga de la virtualización, Ubuntu es el Host y Windows XP es el Guest.

Pude correr xampplite y funcionaba apache. Pero no encontraba el modo de acceder al servicio web del Guest desde el Host.

Usando VBoxManage
No logré encontrar en la interfaz de Virtualbox un modo de configurar eso.

Después de navegar un poco en Internet, encontré en Sitepoint el artículo Build Your Own Dev Server with VirtualBox. Allí, la solución consiste en editar a mano el archivo XML de la configuración de la máquina virtual.

Si uno revisa ese archivo (VirtualBox.xml) puede encontrar la advertencia de no editarlo a mano. Así que indagué un poco más para ver si había otro modo y lo encontré en el artículo How to access a server running in a VirtualBox guest, que indica cómo hacer los cambios usando el comando VBoxManage.

Primero hay que apagar la máquina virtual. Los cambios se harán efectivos al reiniciarla.

Para listar las máquinas virtuales:

VBoxManage list vms

Hay que establecer varios extradata en el Guest "Windows XP":

VBoxManage setextradata "Windows XP" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort" 8888
VBoxManage setextradata "Windows XP" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort" 80
VBoxManage setextradata "Windows XP" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol" TCP

Para verificar:

VBoxManage getextradata "Windows XP" enumerate

Si hubiera que eliminar alguno, bastaría con darle un valor en blanco. Por ejemplo:

VBoxManage setextradata "Windows XP" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort" 8888

A continuación inicié el Guest, y el servidor apache que contiene.

En el Host pude acceder al servicio web entrando a:

http://localhost:8888

Referencias

2011/06/03

Moviendo Dropbox

Hace algún tiempo que vengo usando Dropbox, el programa que facilita la sincronización de una carpeta en nuestro disco con otra en dropbox.com

De ese modo, los archivos que tenga en el dropbox de la computadora de la casa se sincronizan con el de dropbox de Internet y luego con el dropbox de la computadora de la oficina. Es como la idea del USB, pero automático.

Ahora que estoy empezando a trabajar con Ubuntu Linux, noté que Dropbox ha cambiado el nombre de su directorio por default. Antes se llamaba "My Dropbox" y había muchas quejas por eso en los foros. Ahora se llama simplemente "Dropbox". Es decir, que si elige que su directorio para dropbox esté en /home/rulo, por ejemplo, entonces el directorio de dropbox será  /home/rulo/Dropbox.

Como uso Linux al lado de Windows, y el disco de Windows es visible desde Linux, me parece buena idea que el dropbox que instale en Linux apunte al mismo directorio que el que tengo instalado en Windows.

Pero alli el directorio es "My Dropbox". Pensé que podría usarlo pero no, dropbox insiste en que el directorio se llame "Dropbox". Entonces, entré a Windows, fui a la configuración de dropbox e indiqué mover el directorio a una nueva ubicación. En micaso, elegí el directorio C:\Users\compaq, de modo que el nuevo directorio de dropbox es C:\Users\compaq\Dropbox.


Advertencia
Luego de esto fui a Linux e indiqué a dropbox que use la misma carpeta que Windows. Empezó por eliminar todo el contenido (!!!) y luego procedió a descargar lo que tenia en Internet.

Tome sus precauciones. Una mejor alternativa sería tener una copia del dropbox en otra carpeta y, luego de instalar dropbox, pausar la sincronización, pasar a mano los archivos, y reiniciar la sincronización. Quizás así se ahorraría tiempo en la sincronización inicial.

2011/06/01

Ubuntu Natty Narwhal con Windows 7

Hoy he instalado Ubuntu Natty Narwhal (ubuntu-11.04-desktop-i386.iso) junto a Windows 7, que ya estaba instalado. Aunque no ha sido tan fácil como parecía.

Intro
La PC de la oficina es una Compaq Presario CQ5310LA PC, con Windows 7 instalado de fábrica. Hace muchos años, en otra oficina, habitualmente usaba RedHat o Suse, pero recientemente la he pasado más con Windows XP y Windows 7.

Cuando necesito hacer alguna tarea en el servidor Linux, abro un terminal con Putty. Si quiero experimentar alguna aplicación Linux, puedo usar VMWare o VirtualBox para instalar allí alguna distribución.

Me gusta mucho la opción de la virtualización con VMWare o VirtualBox pero, si no hay mucha memoria,  todo el sistema se vuelve bastante lento.

Viendo a los amigos de la comunidad Drupal Perú usando Linux y, considerando los temas que me gusta investigar, me animé a dar el salto para volver a usarlo más intensivamente.

Sin embargo, hay algunas cosas de desarrollo web para las que tengo herramientas habituales en Windows. Así que lo tengo a la vuelta para cuando lo necesite, mientras voy desarrollando alternativas.

No tan fácil como parecía
No es la primera vez que instalo Ubuntu. Incluso antes he hecho una instalación dual con Windows XP. En aquella ocasión aprendí que a veces el sistema de arranque de Windows y el de Linux se cruzan y hay que hacer algunas correcciones luego del proceso.

Esta vez, vi con agrado que había una interfaz incluida en el proceso de instalación para cambiar el tamaño de la partición Windows existente para hacer espacio a la nueva partición para Ubuntu. Además, no requería de ninguna operación previa de defragmentación. Supuese que era una señal de que el proceso sería más facil ahora, pero no fue así.

Puse el instalador en un USB (usando Lili USB Creator) y reinicié el sistema para arrancar desde ahí.

En el proceso de instalación, el reparticionamiento fue casi automático. Indiqué 50 GB para la nueva partición Linux. Luego continuó bien pero, casi al final, falló por alguna razón. Un mensaje de error irrecuperable. Reinicié el proceso.

La segunda vez hice el proceso desde el escritorio del Live CD. Ya no ocurrió el error irrecuperable y la instalación se completó, pero tardó bastante tiempo la descarga de los archivos de actualización y otros. Quizás hubiera dejado esa opción para después. Sin embargo, como estaba en el escritorio, podía navegar mientras esperaba :)

Cuando reinicié, esperaba que apareciera el menú de inicio de Grub (usado para iniciar Linux), pero la pantalla se quedó en negro, con el rectángulo que muestra el monitor cuando no recibe ninguna señal.

Probé reiniciar varias veces, sin resultado. Felizmente hice backup, pensé.

Por si acaso, repetí el proceso de instalación. Para no descargar las actualizaciones, desconecté el cable de red y así fue un poco menos el tiempo. Pero el resultado fue el mismo.

Felizmente, usando el navegador de archivos del Live CD podía comprobar que los archivos de Windows estaban allí. El problema era que se había perdido el arranque.

Hice un disco de rescate en otra máquina que también tiene Windows 7 y seguí el procedimiento de reparar el sector de inicio. Reinicié, pero seguía igual.

Una esperanza
Entonces, cruzado de brazos, vi como después de casi un minuto, en la pantalla apareció Ubuntu. Al parecer, el sistema si iniciaba, pero con un Grub silente. Sin Grub, ¿cómo escoger la opción de iniciar con Windows?

Investigando, encontré una solución para corregir el inicio perdido de Windows. Consiste en usar el disco de rescate para iniciar una consola y desde allí ejecutar:

bootrec /fixmbr
bootrec /fixboot

Funcionó y se inició Windows 7 normalmente.

Más o menos
Ahora, para tener un acceso a Ubuntu iba a intentar tratar con Grub, pero antes probé bajar el utilitario EasyBCD, que había visto mencionaban en los foros.

Allí, modifiqué el menú de inicio, agregando un nuevo item para sistema operativo Linux, tipo de inicio Grub2 (el usado por Ubuntu 11). Salve los cambios y reinicié.

Esta vez, apareció un menú de inicio provisto por Windows. Elegí Ubuntu. La pantalla se puso negra y, luego de un rato, apareció Ubuntu.

Corrigiendo el menú de Grub
Encontré una solución al problema de la pantalla negra antes de Ubuntu. Al parecer, no se estaba presentando bien el menú de grub. En la consola ejecuté:

sudo gedit /etc/default/grub.conf

Para editar el archivo de configuración de grub. En lugar de gedit también se puede usar otro editor, como nano.

En grub.conf, localizar la línea #GFX640x480 y descomentarla, de modo que queda:

GFX640x480

A continuación:

sudo update-grub

Al reiniciar la máquina, aparece primero el menú de inicio de Windows (el que configuré con ayuda de EasyBCD). Si elijo Ubuntu, aparece el menú de inicio de Grub. Bien.

Restableciendo el arranque de Grub
Quizás se podría simplificar el pasar primero del menú de inicio de Windows al menú de inicio de Grub.

Se puede conseguir reinstalando el menú de inicio Grub:

sudo grub-install /dev/sda

En mi caso, /dev/sda es el disco donde se coloca el inicio.

Al reiniciar la máquina, aparece primero el menú de inicio de Grub. Si elijo Windows, aparece el menú de inicio de Windows. Tiene sentido.

Para que no aparezca el menú de inicio de Windows, uso EasyBCD para quitar la opcion Ubuntu y además indicar que omita el menú de inicio.

Una vez hecho esto, al reiniciar la máquina, aparece sólamente el menú de inicio de Grub, desde donde se puede elegir Linux o Windows.

En resumen
Para instalar Ubuntu (11, Natty Narwhal) junto a un Windows 7, ya instalado:

  • No es necesario reparticionar el disco antes de correr el instalador de Ubuntu. Tampoco es necesario defragmentarlo.
  • Ejecutar el instalador de Ubuntu, eligiendo la instalación lado a lado, junto al Windows 7 existente e indicando el tamaño de la partición destinada a Ubuntu. Un mínimo recomendable suele ser 20 GB. Yo elegí 40 GB, pero puede ser tanto como se quiera.
  • Sí, luego de ejecutar la instalación, no se ve ningún menú que permita elegir qué sistema iniciar, aguardar un poco. En mi caso, me parece que luego de 30 segundos, se iniciaba Ubuntu.
  • Para corregir la falta de visualización del menú de inicio de Grub, editar el archivo /etc/default/grub.conf y descomentar la linea #GFX640x480.

Referencias

2011/02/19

Organizar ventanas en un snap

AquaSnap es una utilidad que puede ser de mucha ayuda en el manejo de las ventanas.

Puede descargarla de http://www.nurgo-software.com/products/aquasnap, o también la versión portable desde http://portableapps.com/apps/utilities/aquasnap_portable.

Cuando la ejecuta, se coloca como tray icon (por la zona de su reloj) para que haciéndole doble clic pueda cambiar su configuración, si lo desea.

La forma de usar aquasnap es simple:

  • Si arrastra una ventana hacia uno de los bordes, la ventana se pegará hacia ese borde y, además, sus dimensiones ocuparán esa mitad de la pantalla.
  • Si arrastra una ventana hacia una de las esquinas, la ventana se pegará hacia esa esquina y, además, sus dimensiones ocuparán ese cuarto de la pantalla.
  • Si arrastra una ventana y la sacude, se tornará translúcida; podrá ver lo que hay debajo y se mantendrá así hasta que la sacuda otra vez.
Esto es con la configuración por default. Haciendo doble clic en el tray icon puede elegir otras opciones.

2011/01/02

Entrada directa al escritorio con Windows 7

Al iniciarse Windows 7, puede ser que se detenga en una pantalla de usuarios antes de llegar al escritorio. Allí aparecen los iconos de cada usuario disponible, permitiendo elegir alguno para entrar, posiblemente con una contraseña.

Sin embargo, puede ser que, en su caso, no requiera esta seguridad, y esa pantalla signifique en el proceso de inicio una etapa extra que quisiera evitar.

Si es así, puede lograrlo ejecutando (Menú Inicio, Ejecutar) la orden:

control userpasswords2

Esto abrirá una caja de diálogo que muestra las cuentas del usuario. Hay que elegir el nombre de usuario con que usualmente ingresa (si hubiera más de uno), y desmarcar ahí la casilla que indica que los usuarios deben ingresar un nombre y contraseña para entrar. Cuando se le solicite una contraseña para asignar al usuario que seleccionó, puede dejar en blanco tanto el primer campo como su confirmación para indicar que no usará contraseña.

Luego de eso, salga de Windows y vuelva a entrar. Notará que la pantalla de selección de usuarios ya no aparece y se ingresa directo al escritorio.

Si, de pronto, quisiera volver a habilitar las contraseñas, use la misma orden y vuelva a marcar la casilla que indica que así sea.

2010/09/17

Solucionando los gadgets flash de Windows 7 64b

Ocurre que en Windows 7-64b puede haber algunos problemas para correr gadgets que requieran flash.

Al intentar correrlos aparece un diálogo pidiéndonos permiso para correr Flash, acepto, pero nada parece ocurrir.

La solución la encontré en este post: http://www.sevenforums.com/customization/1499-windows-7-7000-x64-sidebar-flash-player-fix.html#post863632.

Allí, se facilita un parche que, al ser ejecutado, soluciona el problema: http://www.sevenforums.com/attachments/customization/87586d1280161565-windows-7-7000-x64-sidebar-flash-player-fix-windows_64bit_sidebar_flash_support.exe

A mi me ocurrió que el archivo que descargué tenía la extensión .download, en lugar del .exe esperado. Felizmente fue cuestión de renombrarlo y ponerle la extensión correcta para poder ejecutarlo.

Por si acaso, también está disponible en este enlace: http://ifile.it/q456acu/Windows_64bit_Sidebar_Flash_Support.exe

2010/08/04

Desbloquear archivo en Windows 7

A veces es frustrante cuando se quiere eliminar un archivo y el sistema responde que no es posible porque está siendo usado por otra aplicación. Sobre todo cuando no es evidente cuál es la otra aplicación.

LockHunter es un programa gratuito que se puede instalar para ayudar a encontrar cuál es la aplicación por la que se realiza el bloqueo, y permitir la eliminación si así lo queremos.

Disponible tanto para 32 bit como para 64 bit, lo puede encontrar en LockHunter.com

Crédito de la imágen: My System Tech

2010/03/11

Enlaces simbólicos en Windows

En Linux, un enlace simbólico es un archivo o directorio ficticio que representa a un archivo o directorio real.

Por ejemplo, puedo tener un enlace simbolico /usr/bin/java en lugar de /usr/bin/java-1.6 (En este caso en particular me sirve para actualizar java sin tener que tocar los archivos de configuración que se refieren a /usr/bin/java).

En Windows 7, y también en Windows Vista, se puede hacer con el comando mklink.

También es posible usar una utilidad llamada Junction. Funciona para Windows XP en adelante y puede descargarse de Junction v1.05

La descarga provee un zip que contiene un único archivo ejecutable que se puede colocar en C:\Windows\. De ese modo, está disponible en cualquier lugar que se abra la consola de comandos.

En mi caso, necesitaba un enlace simbólico htdocs/site1.localhost que apuntara a htdocs/drupal/sites/site1.localhost
Para eso, me ubiqué en htdocs y ejecuté el comando:

mklink /D  site1.localhost drupal\sites\site1.localhost

o, usando junction:

junction site1.localhost drupal\sites\site1.localhost

A partir de allí, cuando entro a http://localhost/site1.localhost estoy accediendo al contenido de drupal/sites/site1.localhost.

Para eliminar el link:

rd site1.localhost

ó, usando junction:

junction -d site1.localhost

Nota:
Este es un paso intermedio en mi intento de lograr una configuración drupal multisite (lo que aún no consigo), sin embargo me ha parecido útil lo que se puede hacer con Junction por sí sólo. Ojalá que a ustedes también.

2010/03/09

Unshare un folder en Windows 7

En Windows 7, se puede compartir un folder, o directorio, haciéndole clic derecho para entrar a Properties (Propiedades), Sharing (Compartiendo), Share... (Compartir...), luego indicando con quiénes desea hacer el sharing.

Sin embargo, no hay una forma clara de revertir eso. Tampoco hay un ícono que nos indique (como en los Windows anteriores) que cierto directorio está compartido.

Una forma de revisar los directorios compartidos es ejecutando el comando compmgmt.msc (Computer Management, Administración de la Computadora), o yendo al menú inicio, y haciendo clic derecho en Computer, Manage (Administrar).

Allí, elegir Shared Folders (Directorios Compartidos), Shares (Compartidos), seleccionar el directorio, clic derecho, Stop Sharing (Deterner Compartir).

Referencias:

2010/01/23

Resolviendo el Mercury de XAMPP

XAMPP es un conveniente paquete que contiene Apache, PHP, MySQL y otros programas para facilitar la instalación y uso de un entorno de desarrollo PHP. Lo vengo usando satisfactoriamente desde hace varios meses. Sin embargo, me enfrasqué en un problema cuando necesité usar el Mercury que trae incluido para enviar emails. Aparentemente no funcionaba. Buscando y navegando mucho por internet, encontré estas páginas que me ayudaron a resolver el problema:
El primer enlace da una secuencia detallada de pasos. Muchos comentan que les funcionó muy bien, pero yo tuve un problema. Veía que las ventanas de los varios monitores que muestra Mercury decían offline, y un comando "telnet localhost 25" ejecutado en la consola me devolvía "Could not open connection to the host, on port 25".
Entonces, encontré el segundo enlace, donde un forista comentaba que los mensajes de offline se debían a un bug del módulo MercuryX y se debía deshabilitar. Así lo hice y, al reiniciar, el administrador de Mercury funcionó :-D, se enviaron los mensajes de prueba que tenía atascados e incluso pude hacer una prueba usando el telnet.

Resúmen de pasos

La idea del relay es usar un servidor SMTP externo, como el de GMail, para que Mercury envíe el correo a través de él. En teoría sería posible también usar un SMTP en localhost, pero como algunos proveedores no permiten que sus usuarios envíen correo de ese modo, el uso del relay parece más general.
En el archivo xampp/php/php.ini, ubicar las líneas correspondientes a [mail function] y editarlas para que quede algo como:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = postmaster@localhost

A continuación, configurar Mercury. En el administrador de Mercury (que se abre al pulsar su botón Admin en el panel de control de XAMPP), entrar a las opción de menú indicadas por cada título y realizar los cambios que se indican:

Configuration/Protocol modules...

Note que se han desahabilitado MercuryE y MercuryX, y se ha habilitado Mercury C.


Luego de desactivar/activar módulos es necesario reiniciar Mercury (salir del administrador y volver a entrar).


Configuration/Mercury core module...

 

Configuration/MercuryS SMTP server

El nombre en "Announce..." puede ser cualquiera. El IP es el del localhost (la página dice que usar el IP de la intranet, 192.168.x.x, no le funcionó).

 
Aquí se modifica la restricción para que se permita conexiones en el rango 127.0.0.1-127.0.0.1
Pero el punto más importante es desmarcar la casilla "Do not permit SMTP relaying of non-local-email"

Configuration/MercuryC SMTP client

Aquí indico que se use el SMTP server de gmail, según las recomendaciones de su página y usando el puerto 587 para SSL con STARTTLS. Si es su caso, verifique que el nombre de usuario incluya @gmail.com

Configuration/Manage local users

Se agrega el usuario postmaster, con privilegio de administrador.

2010/01/11

Usando FTP_synchronize con Notepad++ en Windows 7

Notepad++ es un editor de texto muy util para programar. Lo uso bastante para HTML, CSS, javascript, php, etc. Su menú encoding permite ver y cambiar de manera muy fácil el encoding de un archivo; por ejemplo, es sencillo pasar ANSI a Unicode UTF-8, con BOM o sin BOM, y viceversa (para una nota sobre lo que es ANSI, puede ver ASCII, ANSI, Roman 1, and What's All That?)

Lo había venido usando con uno de sus plugins, FTP_synchronize, y me sorprendió un poco descubrir que la nueva versión 5.6.3 que instalé ya no lo incluía por default.
Afortunadamente, es posible bajarlo [Edit files on FTP with Notepad++ plugin]. Puede hacerlo desde SourceForge::Notepad++ Plugins::FTP_synchronize

Yo bajé de allí el archivo FTP_synchronize_0_9_6_1_dll.zip. Al abrirlo hallé 2 dll y una nota indicando que aquel marcado con una A era para los Windows sin soporte para unicode (la A es por ANSI). Así que coloqué FTP_synchronize.dll en el directorio plugins de Notepad++, luego cerre y volví abrir el editor y encontré que FTP_synchronize aparecía en el menú plugins.

Configuré el acceso a una cuenta e ingresé a los directorios sin problema. Pero, cuando intentaba editar algún archivo, me aparecía el mensaje "Unable to create directory for file C". Aparentemente Windows 7 no deja escribir así nomás a los programas en el disco (aunque opino que debería dejar hacerlo en sus subdirectorios propios). Felizmente encontré en Internet una forma de solucionar el problema [Problems using the Notepad++ FTP_Synchronize Plugin with Vista].

Lo que yo hice fue ir al directorio de plugins de Notepad++ para crear manualmente el subdirectorio FTP_synchronize. Luego, fue necesario que le hiciera clic derecho para ver sus propiedades y modificar los permisos de acceso de Users sobre ese directorio, para que pudieran crear, eliminar, y modificar los archivos y directorios que pudiera contener.

Finalmente, pude editar el archivo que que quería (en mi caso era cambiarle el encode a UTF8 sin BOM).