Archivo

Archivo para la categoría ‘opensource’

¿Amanda se vuelve una solución comercial?

Sábado, 27 de Febrero de 2010

Hoy leyendo mis correos de la lista de Amanda (a la cual estoy metido más por razones sentimentales que otra cosa) me conseguí con esto:

Greetings;

I have taken note that there have been no new snapshots made available in a
bit over 3 weeks now, and other than the downloads page, all of the rest of
the new web pages point to paid support.

What is the future direction of amanda?

No es una sorpresa, yo ya habia visto algo de esto en Community East con ZAmanda. Amanda es en mi opinión el mejor software de respaldo de código abierto que existe hoy en día y su evolución hacia software comercial con raíces de código abierto (como MySQL) es evolucionaría.

Yo realmente creo que el producto va a mejorar, sobre todo que ahora puede ser considerado una alternativa con soporte pago para las empresas (y definitivamente no creo que lo cierren).

java, kodegeek, linux, opensource , , ,

Monitoreo de sistemas con Ganglia

Sábado, 13 de Febrero de 2010

Bueno, por razones del destino me estoy familiarizando con Ganglia. Ganglia es un sistema de monitoreo distribuido, similar a OpenNMS, el cual además de ser gratuito es extensible.

En mi caso lo tengo corriendo bajo OSX en mi Mac mini, lo cual me trajo ciertos dolores de cabeza en la instalación (sin embargo y como siempre ya alguien se las habia ingeniado para resolver el problema).

Ya les contaré como me va con este nuevo pasatiempo :D

opensource , ,

Oracle y el desnalgue de Kenai.com

Sábado, 6 de Febrero de 2010

Esto me está ladillando de sobremanera. Primero Oracle decidió tumbar a Kenai.com en favor de Java.net (e inclusive aconsejó a sus usuarios a moverse a otros sitios para el hospedaje del código). Y resulta que hoy leyendo mi correo me consigo esta perla:

Gentlepeople,

In an effort to get information out to the Kenai community quickly, while trying to manage the integration of our two companies, I think we did a poor job at communicating our plans for Kenai.com to you. I would like to remedy that now.

Our strategy is simple. We don’t believe it makes sense to continue investing in multiple hosted development sites that are basically doing the same thing. Our plan is to shut down kenai.com and focus our efforts on java.net as the hosted development community.

We are in the process of migrating java.net to the kenai technology. This means that any project currently hosted on kenai.com will be able to continue as you are on java.net. We are still working out the technical details, but the goal is to make this migration as seamless as possible for the current kenai.com projects.

So in the meantime I suggest that you stay put on kenai.com and let us work through the details and get back to you later this month.

Thanks for your feedback and patience.

-Ted Farrell
Oracle Corporation

Si entiendo bien significa:

  • No se vayan a Source Forge, Google o GitHub, los queremos en Java.net
  • La migración de los proyectos de Kenai.com a Java.net debería ser más o menos transparente

¡Terminen de decidir que es lo que van a hacer!

Aún así pienso seguir investigando que tan complicado es sacar mi código de Kenai.com. Un mes de incertidumbre es una eternidad para un proyecto Open Source como StupidZombie :)

opensource , , ,

Es oficial: Kenai.com tiene 60 días más de vida

Martes, 2 de Febrero de 2010

Bueno, ya lo habia comentado anteriormente pero ahora es oficial:

Hello fellow Project Administrators,

It’s with a sad heart that we have to announce that the Kenai.com domain will be shutdown as part of the consolidation of project hosting sites now that Sun is a wholly owned subsidiary of Oracle.

Project Kenai has always existed as two different things: Kenai the infrastructure, and Kenai the website (Kenai.com). While it has come time to close the domain of Kenai.com, the infrastructure (which is already used under NetBeans.org) will live on to support other domains in the future.

With this decision from Oracle to close the Kenai.com domain, it is now time for project owners to begin the process of migrating their repositories and content over to other locations. A few things to note as you begin this process:

* More then one forum thread is going on at this time discussing alternative sites for hosting projects; this one appears to be the most active:

http://kenai.com/projects/help/forums/general/topics/2406-Alternatives-for-Kenai-com-

* For Source repositories, SVNSync can be used for Subversion. Git, and Hg are pretty simple by nature to move.

* Wiki source code is available to all project admins and can be cut and paste into any other site that supports the Mediawiki syntax.

* For Issue Trackers and Forum content, we are looking at ways to make that content available, but we have nothing at this time in place. If you can come up with a way to move the content on your own, proceed as such. Please do not wait for us.

The website will be closed to the creation of new projects in the next week. The complete shutdown of the site and the removal of the domain will be completed in the next 60 days (April 2nd 2010). This should provide ample time for all projects to be moved to a new home of the project owners choice.

If you have a private project (only available to Sun internal projects) those projects will continue to exist. We will send information about how to access those in a separate notice.

Any public projects that remain after the 60 day limit (April 2nd 2010) will be removed when the site is turned off.

It has been an amazing ride, and a great pleasure to personally work with so many of you over the last year or so. From the entire Project Kenai Team I want to thank you for all of the feedback, criticisms, and support over our time together.

With much respect,
The Project Kenai Team

No me queda otra que buscarle un nuevo hogar a StupidZombie. ¿Alguien tiene sugerencias? :)

java, opensource , ,

Se acabó Sun, ¿qué viene después?

Viernes, 29 de Enero de 2010

Esta semana ha sido una semana interesante para la gente que alguna vez utilizó productos de Sun Microsystems. Para no repetir lo obvio los dejo con una lista preparada por James Weaver (un fanático de JavaFX) el cual nos dá su opinión de las cosas que vienen.

Como toda transacción de este tipo, hay ganadores y perdedores. Las cosas cambian y la gente decide moverse para hacer cosas distintas. Por ejemplo, Sang Shin ,el creador e instructor de JavaPassion, mandó un correo de despedida en el cual nos cuenta que piensa seguir otras oportunidades fuera de Sun:

As a result of recent Sun/Oracle merger, I’ve decided to
leave Sun/Oracle and decided to pursue a career of teaching
and consulting.

What this means is that the “javafxhomeworks@sun.com”
homework alias will not work anymore from tomorrow.

A new homework alias has been created and it is

javafxhomeworks@javapassion.com (same address with
different domain name)

Please send your homework to the new address above from
now on.

If you already submitted all the homeworks and personal
information to the old homework address, there is NO
need to resubmit since I have the copies.

Thanks.

-Sang Shin

Otra que me pegó de cerca es que Oracle planea descontinuar a Kenai.com. Para mi eso se traduce en que debo migrar el código de StupidZombie a otro sitio, probablemente Source Forge (pese a sus verrugas):

The Future of Kenai.com
With Sun now a wholly owned subsidiary of Oracle, the acquisition is triggering a consolidation process. Part of this process is the phasing out of the public-facing domain used for the Project Kenai Beta site. This action is being undertaken to provide the best project hosting solution for all of our customers into one location. Minimizing the number of current project hosting sites is a start in this direction. The consolidation process is underway and we will post notices about the plans and timeline as they become publicly available. The end-goal is to ensure we provide even more useful resources for all of the Oracle and Java developer communities.

Stay tuned as we work things through.

Ya hay gente que comenzó a irse debido a la adquisición de Sun por parte de Oracle. Charles Nutter (desarrollador lider de JRuby) nos cuenta desde Twitter:

Sounds like the post-merger bloodletting has begun at Sun/Oracle. Already hearing about some friends getting laid off :(

Al mismo tiempo que Jonathan Schwarts se despide de Sun:
As for where life takes me next, you should follow me via Twitter at openjonathan to find out. I’ll also be rehosting this blog (and again, stay tuned to Twitter by following me here). I expect to do my part to keep things interesting.

Thank you for your support and commitment. I wish you all the best of luck building, taking advantage of (and likely wearing) the future!

Jonathan Schwartz
CEO, Sun Microsystems, Inc.
A Wholly Owned Subsidiary of Oracle Corporation.

No todo es malo, el solapamiento de areas entre Sun y Oracle es mínimo y por los menos Java, JavaFX y NetBeans tienen un futuro promisorio. MySQL tampoco se puede quejar (al menos por los momentos) y este año viene un JavaOne.

Tiempos interesantes, los dejo con un enlace de mi experiencia en Java One del 2008. Me pone algo nostálgico :)

java, javafx, opensource, programación , , , ,

Aprendiendo JavaFX: GUI basics II

Domingo, 10 de Enero de 2010

Aqui les dejó el código de la tarea de esta sección del curso de JavaFX en JavaPassion . El resultado se ve como esto:

En este ejercicio el circulo se mueve en sentido contrario al cuadrado proporcionalmente (sólo en el eje X).

Que lo disfruten, pienso seguir agregando respuestas del curso (admito que estoy muy retrasado con respecto a la entrega final, pero no pienso rendirme :) )

java, javafx, kodegeek, opensource, programación , ,

¿Oracle destruyendo MysQL? No me veo firmando una petición para salvarlo…

Sábado, 9 de Enero de 2010

¡Salven a MySQL de las garras de Oracle! Ese es el nuevo grito en Internet estos días, y viene del fundador de MySQL.

Si leen la petición cuidadosamente, el argumenta que el uso de GPL no es suficiente. La intención es que Oracle le deje el desarrollo a una tercera compañía la cual va a seguir creciendo MySQL bajo GPL.

No entiendo el llanto, después que vendió MySQL a SUN, luego dejó a SUN para trabajar en MariaDB (Fork).

¿A quien le importa si MySQL deja de existir? Hay otras alternativas, muy buenas como PostgreSQL. Lo otro es que no creo que Oracle este interesado en destruirlo (aunque no creo que lo aumente o mejoren).

El software gratuito tiene este y otros dilemas. Un caso muy interesante es el de OpenNMS el cual pasó varios años peleando contra una compañía que tomó el producto, hizo dinero con él y no liberó los cambios para el beneficio de todos.

Yo creo que un fork de MySQL puede sobrevivir y prosperar. La licencia GPL protege el producto y hay muchas compañías interesadas en que MySQL viva.

Los dejo con la siguiente nota de LWN, a la final es la comunidad quien decide el éxito de una aplicación:

Still, it is telling that so much of the work done by the forks centers around the InnoDB storage engine: the patches written by Percona and OurDelta, Percona’s replacement engine XtraDB, and MariaDB’s replacement engine Maria. InnoDB is GPLv2-licensed, but the copyright is owned by … Oracle. Oracle acquired InnoDB’s creator Innobase in 2005. That acquisition sparked a flurry of concern that the database giant would kill the product, take it proprietary, or somehow use it against MySQL — many of the same nightmare scenarios now speculated about the Sun purchase. It is worth noting that in the intervening years two things have occurred: Oracle has not killed or maimed InnoDB, and the open source community has preemptively created its own innovative solutions, thereby insulating open source users and customers from disaster should Oracle take a step in the wrong direction.

The real question is not which fork is the MySQL, but whether the multiple patch sets and forks indicate sickness or health for MySQL as a whole. Excluding Drizzle, all of the projects were started because someone who cared a great deal about the future of MySQL saw something wrong with MySQL’s development process (and for its part, Drizzle was spawned by even deeper dissatisfaction with the technical direction of MySQL). Surely that much concern on the part of the community signifies health. There is no telling which forks will prosper and which will fizzle out, but that depends to a large degree on Oracle, and how it governs the project in the future.

¿Usted piensa firmar esta petición en línea?

opensource, oracle

Migrando KodeGeek de CVS a Subversion en SF.net

Viernes, 25 de Diciembre de 2009

Bueno, creo que ya era hora de hacerlo. Así que lo hice en varios pasos, siguiendo las recomendaciones de SF.net:

  • Hacer un respaldo del código existente en CVS:

    rsync -av rsync://elangelnegro.cvs.sourceforge.net/cvsroot/elangelnegro/* .

    Hasta ahora bien.
  • Crear un vaciado para SVN usando cvs2svn:
    Hmm, no tan rápido:

    auyan:sf josevnz$ ~/Downloads/cvs2svn-2.3.0/cvs2svn --dumpfile=svndump .
    ERROR: cvs2svn uses the anydbm package, which depends on lower level dbm
    libraries. Your system has dbm, with which cvs2svn is known to have
    problems. To use cvs2svn, you must install a Python dbm library other than
    dumbdbm or dbm. See http://python.org/doc/current/lib/module-anydbm.html
    for more information.
    auyan:sf josevnz$

    OK, vamos a ver que tan difícil es de hacer en OSX. Lo primero que hice fué actualizar Python (2.5 -> 3.1.1) usando un paquete pre-compilado:

    auyan:sf josevnz$ /Library/Frameworks/Python.framework/Versions/3.1/bin/python3
    Python 3.1.1 (r311:74543, Aug 24 2009, 18:44:04)
    [GCC 4.0.1 (Apple Inc. build 5493)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.

    El script cvs2svn fué escrito en Python 2.5, no 3. Así que lo convertimos con un poco de ayuda:

    auyan:sf josevnz$ /Library/Frameworks/Python.framework/Versions/3.1/bin/2to3 -w ~/Desktop/cvs2svn-2.3.0/cvs2svn
    RefactoringTool: Skipping implicit fixer: buffer
    RefactoringTool: Skipping implicit fixer: idioms
    RefactoringTool: Skipping implicit fixer: set_literal
    RefactoringTool: Skipping implicit fixer: ws_comma
    RefactoringTool: Refactored /Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn
    --- /Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn (original)
    +++ /Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn (refactored)
    @@ -69,7 +69,7 @@

    try:
    svn_main(os.path.basename(sys.argv[0]), sys.argv[1:])
    -except FatalException, e:
    +except FatalException as e:
    sys.stderr.write(str(e) + '\n')
    sys.exit(1)

    RefactoringTool: Files that were modified:
    RefactoringTool: /Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn

    Más las librerías de cvs2svn:

    auyan:sf josevnz$ for file in `ls ~/Desktop/cvs2svn-2.3.0/cvs2svn_lib/*.py`; do /Library/Frameworks/Python.framework/Versions/3.1/bin/2to3 -w $file; done
    # Montón de paja omitida por brevedad :)

    Además de unos pequeños cambios en el código (las líneas que requieren edición tienen número por delante):


    1 #!/Library/Frameworks/Python.framework/Versions/3.1/bin/python3
    2 ##!/usr/bin/env python
    3 # (Be in -*- python -*- mode.)
    55 #if not ((2,4) < = version < (3,0)):
    56 # sys.stderr.write(
    57 # version_error + ' version %d.%d.%d.\n'
    58 # % (version[0], version[1], version[2],)
    59 # )
    60 # sys.stderr.write(version_advice)
    61 # sys.exit(1)

    Sin embargo el Python 3 es anal acerca de la mezcla de espacios y tabulación:

    ...
    TabError: inconsistent use of tabs and spaces in indentation

    Traté de arreglarlo rápidamente, pero lo que hice fué empeorar la situación:

    auyan:sf josevnz$ perl -p -i -e 's#\t# #g' /Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn_lib/*.py
    auyan:sf josevnz$ ~/Desktop/cvs2svn-2.3.0/cvs2svn --dumpfile=svndump .
    Traceback (most recent call last):
    File "/Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn", line 68, in <module>
    from cvs2svn_lib.main import svn_main
    File "/Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn_lib/main.py", line 30, in <module>
    from cvs2svn_lib.svn_run_options import SVNRunOptions
    File "/Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn_lib/svn_run_options.py", line 40, in <module>
    from cvs2svn_lib.svn_output_option import DumpfileOutputOption
    File "/Users/josevnz/Desktop/cvs2svn-2.3.0/cvs2svn_lib/svn_output_option.py", line 83
    cvsauthor = to_utf8(cvsauthor)
    ^
    IndentationError: unindent does not match any outer indentation level

    No me jodan. Demasiado tratar de que este script funcione con Python 3, ¿será más fácil instalar las librerías faltantes y que Python 2.5 las reconozca?

    Me decidí entonces de usar las librerías compatibles con DBM. Nos las bajamos de Oracle y compilamos:


    auyan:db-4.8.26 josevnz$ pwd
    /Users/josevnz/Desktop/db-4.8.26
    auyan:db-4.8.26 josevnz$ ./dist/configure && make
    auyan:db-4.8.26 josevnz$ cd build_unix/
    auyan:build_unix josevnz$ ../dist/configure && make && make install && export DYLD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.8/lib:$DYLD_LIBRARY_PATH

    Instalé entonces capa de Python que enlaza con DBM, bsddb3 4.8.1:

    auyan:bsddb3-4.8.1 josevnz$ pwd
    /Users/josevnz/Downloads/bsddb3-4.8.1
    auyan:bsddb3-4.8.1 josevnz$ python setup.py build

    Y como todo salió bien:

    sudo python setup.py install

    Pero ¿funcionará ahora?:


    auyan:sf josevnz$ ~/Downloads/cvs2svn-2.3.0/cvs2svn --dumpfile=svndump .
    # Omitiendo salida del comando....
    cvs2svn Statistics:
    ------------------
    Total CVS Files: 362
    Total CVS Revisions: 603
    Total CVS Branches: 0
    Total CVS Tags: 0
    Total Unique Tags: 0
    Total Unique Branches: 0
    CVS Repos Size in KB: 7377
    Total SVN Commits: 228
    First Revision Date: Thu Jan 13 16:10:27 2005
    Last Revision Date: Sat Jul 18 23:49:03 2009
    ------------------
    Timings (seconds):
    ------------------
    2.132 pass1 CollectRevsPass
    0.063 pass2 CleanMetadataPass
    0.009 pass3 CollateSymbolsPass
    0.163 pass4 FilterSymbolsPass
    0.017 pass5 SortRevisionSummaryPass
    0.031 pass6 SortSymbolSummaryPass
    0.089 pass7 InitializeChangesetsPass
    0.095 pass8 BreakRevisionChangesetCyclesPass
    0.092 pass9 RevisionTopologicalSortPass
    0.031 pass10 BreakSymbolChangesetCyclesPass
    0.080 pass11 BreakAllChangesetCyclesPass
    0.062 pass12 TopologicalSortPass
    0.169 pass13 CreateRevsPass
    0.016 pass14 SortSymbolsPass
    0.009 pass15 IndexSymbolsPass
    1.075 pass16 OutputPass
    4.134 total

    ¡Exito! :D

  • Importar el código de nuevo en SVN:

    Ahora no queda otra más que tratar de importar el archivo que fué creado en el paso anterior:

    auyan:sf josevnz$ ls -l svndump
    -rw-r--r-- 1 josevnz josevnz 8600150 Dec 25 20:53 svndump
    gzip svndump

    SF.net tiene una consola especial para estos casos. En este caso cree mi nueva sesión y me dispuse a trabajar:

    auyan:~ josevnz$ ssh -t josevnz,elangelnegro@shell.sourceforge.net create
    The authenticity of host 'shell.sourceforge.net (216.34.181.119)' can't be established.
    RSA key fingerprint is b4:c5:6c:36:f7:ad:2c:23:52:e1:84:3e:77:61:5d:59.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'shell.sourceforge.net,216.34.181.119' (RSA) to the list of known hosts.
    josevnz,elangelnegro@shell.sourceforge.net's password:

    Requesting a new shell for "josevnz" and waiting for it to start.
    queued... creating... starting...
    This is an interactive shell created for user josevnz,elangelnegro.
    Use the "timeleft" command to see how much time remains before shutdown.
    Use the "shutdown" command to destroy the shell before the time limit.
    For path information and login help, type "sf-help".

    [josevnz@shell-23008 ~]$
    [josevnz@shell-23008 ~]$ timeleft
    Time remaining before shutdown: 239 minutes.

    Subiendo el código:

    auyan:sf josevnz$ rsync -aiv svndump.gz josevnz,elangelnegro@web.sourceforge.net:htdocs
    josevnz,elangelnegro@web.sourceforge.net's password:
    building file list ... done

    sent 6067785 bytes received 42 bytes 49132.20 bytes/sec
    total size is 6066914 speedup is 1.00

    Y finalmente el proceso de importación en varios pasos:

    [josevnz@shell-23008 ~]$ adminrepo --checkout svn
    Lock and checkout the svn repository for elangelnegro? [ny] y
    Repository locked -- starting checkout copy.
    ...

    [josevnz@shell-23008 ~]$ ls -l /home/groups/e/el/elangelnegro/htdocs/svndump.gz
    -rw-rw-r-- 1 josevnz elangelnegro 6066914 Dec 26 01:53 /home/groups/e/el/elangelnegro/htdocs/svndump.gz
    [josevnz@shell-23008 ~]$ gunzip /home/groups/e/el/elangelnegro/htdocs/svndump.gz
    [josevnz@shell-23008 ~]$ svnadmin load /svnroot/elangelnegro < /home/groups/e/el/elangelnegro/htdocs/svndump
    ....
    ------- Committed revision 227 >>>

    < << Started new transaction, based on original revision 228
    * editing path : trunk/src/java/main/com/kodegeek/blog/twitter/TwitterPing.java ... done.
    [josevnz@shell-23008 ~]$ adminrepo --save svn

  • Desactivar el soporte de CVS para el proyecto

    Primero verifiqué que podía acceder el nuevo repositorio:

    svn co https://elangelnegro.svn.sourceforge.net/svnroot/elangelnegro elangelnegro

    Y después de eso desactive el acceso a CVS.

Así que de ahora en adelante el código está disponible usando SVN en la siguiente ubicación:

  • svn co https://elangelnegro.svn.sourceforge.net/svnroot/elangelnegro elangelnegro

¡Que lo disfruten!

java, kodegeek, opensource, programación

Stupid Zombie 1.1 ya fué liberado, quizas la última versión

Miércoles, 28 de Octubre de 2009

Hoy me tomé el día libre y decidí trabajar en el proyecto. Después de una demora de varios meses (en los cuales puse mis energías en otros proyectos personales) decidí liberar el código de la versión 1.1.

Debo decir que me costó mucho mantener el foco y quizas esta sea la última versión de StupidZombie por un buen tiempo; Es un proyecto que requiere tiempo y la herramienta se encuentra en un punto en donde hace lo que quiere y su principal cliente (yo) está contento como se comporta.

¿Habrán mejoras? ¿Nuevas versiones? No lo sé. He visto muchas descargas pero nadie ha escrito pidiendo cosas nuevas (hay interés sin embargo, incluso existe un proyecto derivado en Kenai.com el cual tiene un instalador nativo para Windows).

El proyecto es formal, tiene artefactos como documentación, sitio web. Sin embargo mantener esos artefactos no es divertido y toma tiempo el cual quiero usar para echar código, lo cual fué la idea inicial del proyecto. Así que sin ayuda adicional simplemente he decidido enfocarme en aprender nuevas cosas, de manera más informal (por ejemplo, no he tenido tiempo para jugar con mi teléfono con Android).

Asi que espero que disfruten esta versión. Pienso mantenerla en linea de manera indefinida, pero mi centro de atención definitivamente está en otro lado ;)

José.

java, kodegeek, opensource, programación

Book review: Even Faster Web Sites, by Steve Souders (and others)

Martes, 4 de Agosto de 2009

Even Faster Websites

Even Faster Websites


Thanks to the O’Reilly Facebook group I got the chance to review the book ‘Even Faster Web Sites‘, by Steve Souders. Please read below to get an idea on what to expect about this new title from O’Reilly ($34.99).

Synopsis:

This book is a collection of practical tips and advice on how to optimize web pages, focusing in client side optimizations. It explains how to reduce downloading times through coding techniques, CSS and image optimization, speed up page rendering and code instrumentation so it will definitely will appeal developers and designers that work with Ajax or regular JavaScript sites.

The book is written by several authors (the main one is Steve Souders), and it was specially nice to read Tony Gentilcore (the author of the popular plugin ‘Fasterfox‘) writting about some gotchas of the use of Gzip to serve web pages, among other things.

How is it organized:

The book is organized in 14 chapters, each one of them can be read independently (more or less) from each other. They are packed with good examples that are brief but illustrate each technique, which makes this book a good reference guide. Also the appendix (which is so big it should be called the chapter 15) is loaded with really useful tools that can be used to detect and diagnose problems on a website (the majority of them are free).

Missing things:

Not everything is perfect. The book focus almost on Javascript optimizations and loading techniques but doesn’t mention what can be done with other important technologies like Flash, SilverLight or even Java Webstart (JavaFx is gaining traction these days).

Forgets to mention server side techniques like connection and thread pools, page caching (server side not client side), among others, or common tricks used in well known frameworks like Ruby & Rails, Java Servlets (PHP is mentioned briefly though).

Also missing is the coverage of server side tools like vmstat, mpstat, top, free, tcpdump or ethereal (Linux, Solaris, BSD or UNIX tools) which could be really useful to diagnose performance issues on the web application.

To be fair this is a book focused on client side techniques and talking about server side optimizations will make it pretty big, so maybe the tittle of the book should be changed to ‘Even Faster Web Sites, client optimizations’ (I am pretty sure the authors have tons of server side techniques to share as well, so maybe this could be a second book on the subject? :) )

Conclusion:

It is another solid title from O’Reilly that delivers concrete techniques that can be used to speed up websites that rely on Javascript, images and CSS to present the content to the end users. The lack of the mention of the existence of server side techniques is a minor glitch but still there is great value on each one of the chapters of this reference book (I am going through them to make this blog to load faster ;) )

Kodegeek stars: 4 of 5.

opensource, programación , , , , , ,