Escribir, como el desarrollo de software, es un proceso creativo-tal vez por eso me siento atraído por ambos. Como todos los esfuerzos creativos, la escritura no puede ser apresurada. La creatividad fluirá cuando tu mente esté en el bien descansado e inspirado. Todo lo demás simplemente resultará en la mediocridad y la frustración. ¿Qué voy a hacer? El temible bloque del escritor. Aquellos que no están familiarizados con él pueden no reconocerlo de inmediato por lo que es, pero es quemar. Algo con lo que muchos tipos creativos pueden relacionarse. Escribir mi propio libro ha sido un proceso asombroso. He aprendido mucho, y extrañamente sobre cosas que nunca quise aprender, e incluso he ganado suficiente dinero para comprar un par de zapatos-lo bueno es que no estaba planeando ser rico haciendo esto. Pero, algo extraño sucedió cuando terminé la primera parte (de cuatro) de mi libro. Perdí mi impulso. No es que no quiera escribir más. En cambio, es que yo quería escribir, pero la parte II de mi libro requería que regresare al tablero de dibujo en algunos conceptos. Esto significaba empezar de un punto de vista conceptual. Esto también significaba perder ese ritmo constante de impulso que me había mantenido en marcha para los primeros cuatro capítulos. Al principio, intenté forzarme a través de él, pero eso no funcionó. Ninguna de las ideas se sentía bien. Necesitaba un nuevo ejemplo para ayudar a ilustrar los conceptos, y todo lo que pensé de sentía forzada o demasiado similar a mi trabajo de día para que me sienta cómodo. Con cada día que pasaba, mi frustración en el proyecto aumentó. A veces sentí que ni siquiera quería terminar el libro, pero la idea de un libro de cuarto de final se comió a mí también. Condenado si traté de terminarlo, y condenado si lo dejé para languidecen. Estoy escribiendo esto ahora habiendo convertido una esquina en mi escritura.
Categoría: Libro
Sincronización de datos y derechos de acceso-primer borrador
Aunque las distracciones eran prevalentes estas últimas semanas, todavía he logrado hacer progresos en mi libro, y estoy orgulloso de presentar el siguiente capítulo de Data Synchronization: Patterns, Tools, & Techniques. Titulado capítulo 4: Access Rights este capítulo representa la conclusión de la parte uno de mi libro de cuatro partes sobre algoritmos de sincronización de datos.
Generación de libros ePub desde HTML
Convertir un único archivo HTML en un ePub es sencillo, con muchas herramientas gratuitas disponibles para este propósito. Pero, si tu objetivo es convertir varios archivos HTML, y sólo una parte de cada archivo, en un eBook con una tabla de contenido adecuada, imagen de portada, etc., ¿qué haces?
Esta fue exactamente la encrucijada en la que me encontré cuando intentaba crear una versión ePub de mi libro. Cada capítulo del libro estaba representado por una página web única, y necesitaba una forma automatizada de descargar rápidamente todos los y combinarlos en un eBook. Para hacer las cosas más interesantes, sólo una parte de cada página era necesaria-¿quién quiere ver el encabezado de una página web, el pie y la barra de navegación en un ePub? Además, las imágenes necesitaban ser descargadas e incrustadas en el ePub, y los fragmentos de código de Github Gist necesitaban ser descargados y representados sin el uso de las etiquetas JavaScript de Github.
Todos estos requisitos son necesarios para crear un ePub profesional, pero sorprendentemente no existía ninguna herramienta que pudiera hacer todas estas cosas sin un esfuerzo manual considerable. Al igual que cualquier desarrollador de software bueno, si no existe ninguna herramienta para un trabajo, y la única otra opción es el trabajo manual, tomé el camino más perezoso y creó una nueva herramienta para hacer el trabajo.
Presentamos html2epub
Esa nueva herramienta se llama html2epub y es una aplicación de línea de comandos que puede:
- Genere un ePub de aspecto profesional a partir de una serie de páginas web
- Quitar HTML innecesario
- Convierta HTML en XHTML para que cumpla con las especificaciones de ePub
- Incrustar imágenes
- Incrustar fragmentos de código de Gist
- Reescribir capítulo a enlaces de capítulos para una navegación ePub adecuada
- Compatibilidad con la navegación de la tabla de contenido
- Autenticación basada en formularios de soporte
He intentado mantener esta utilidad tan fácil de usar como sea posible, a pesar de sus muchas características. Echemos un vistazo a cómo empezar.
Empezar
En macOS instalar html2epub es muy simplificado por Brew. Simplemente ejecute:
brew install jwhitehorn/brew/html2epub
Esto descargará e instalará htmlepub, y sus dependencias, y registrará el comando en su PATH. Con esto completado, puede generar un ePub tan fácilmente como:
html2epub --url https://www.datasyncbook.com \ --toc ./example/toc.xhtml \ --cover ./example/cover.png \ --contents ./example/contents.json \ --title "Data Synchronization" \ --subtitle "Patterns, Tools, & Techniques" \ --author "Jason Whitehorn"
Manipulación de eliminaciones-primer borrador
Las eliminaciones y la sincronización de datos es un problema difícil, pero no tiene que ser-especialmente no con los patrones, herramientas y técnicas que delinear en el último capítulo de mi libro Data Synchronization: Patterns, Tools, & Techniques. Mi último capítulo, titulado Handling Deletions, cubre varias formas de navegar por este espacio problemático y está disponible de forma gratuita como primer borrador.
Delta-based Synchronization – Borrador
El siguiente capítulo de mi libro, Data Synchronization: Patterns, Tools, & Techniques, está disponible como borrador. Este último capítulo se titula Delta-based Synchronization y en él, discuto los diversos matices de construir la sincronización basada diferencial.