martes, mayo 29, 2012

Camping en Königsee, Bayern, Alemania (Into the wild version burguesa)

viaje de camping al sur este de Alemania, a Bavaria, lindando con los alpes suizos y a unos cuantos kilómetros de Salzburg con Pato, Sole y Dominik.




salimos el sábado al mediodía de la casa de los padres de Dominik para llegar a eso de las 4 al destino señalado.


luego de armar la carpa nos fuimos a pasear por un pueblo cercano cuyo nombre, tantas veces mal pronunciado, me evita buscarlo en google maps.


Luego de comer en un restaurant típico de la cuna del Oktoberfest, Audi, BMW y el Bayern München volvimos a nuestras carpas a descansar para un día de idealizadas actividades.

al día siguiente, despiertos por la luz del sol y el fresco de la noche anterior (lo cual explica la escueta ofertas de campings para carpas) salimos caminando para el pueblo cercano cuyo nombre no he de pronunciar correctamente, para tomar un colectivo que nos llevaría hasta otro colectivo, que nos llevaría hasta una base a 124 metros de la punta de una montaña, que gracias a un ascensor al final de 124 metros de un túnel hasta el centro de la misma nos permitiría acceder a una casa de vacaciones de un tal Adolfo.

luego de pasear y sacar fotos retornamos al pueblo a la base de la montaña, luego al camping para procurarnos de Bávaro alimento, continuamos viaje en dirección contraria para ver algo del lago que da titulo a este articulo antes que el sol nos deje tras la montaña (no, el sol no nos iba a tele-transportar tras la montaña, el sol nos dejaba, como en abandonar, tras la montaña).

<caption estilo="gracioso"/>



a la mañana siguiente luego de un desayuno alemán y mas tarde de lo planeado fuimos a tomar un barco que nos dejaría en una iglesia que dada su inaccesibilidad parece confirmar la caída en numero de fieles al cristianismo (caída como en descender, no como en caerse).



luego de caminar por sus alrededores y ser sorprendidos por una lluvia que solo tenia la intención de hacernos subir al bote de regreso para mostrarnos sarcásticamente el sol en medio del trayecto, volvimos al camping a empacar y emprender retorno a la civilización, cuna de la internet, herramienta utilizada por seres como yo para inmortalizar un viaje y así justificar la realización del mismo.


porque, para que uno hace cosas en la vida sino es para postearlas en facebook y parecer mas interesante?


PD: cuando no tengo ganas de escribir escribo de esta forma, sepan disculpar las molestias, sucede que hace mucho que no escribo nada interesante en el blog y me estoy obligando a fuerza de una prolongada reflexión en esta postdata que usted, lector anónimo, lee mientras comienza a preguntarse porque soporta los delirios del autor.


martes, mayo 22, 2012

Namespaces are one honking great idea -- let's do more of those!

me puse en campania para hacer algo que venia pensando hace mucho, la patada inicial fue que al escribir una librería en scala y tener que pensar un namespace, seguí la convención de java y escribí

package org.marianoguerra.jsonpath

y pensé, esta ocupado marianoguerra.org?

fui, mire, no estaba, desempolve mi bloqueada cuenta de paypal que resulta que tenia plata adentro, pague el dominio por 5 anios, manosee los DNSs por un rato y el resultado es el siguiente:

la razón es un poco de nioniada de tener un dominio en un TLD, tener urls simples y como reza el dicho:

Any problem in computer science can be solved with another layer of indirection. But that usually will create another problem.—David Wheeler

lo cual me permite cambiarme de proveedor de hosting de imágenes, blog y mail sin tener que actualizar links*** y redireccionar gente.

 * la pagina principal es cualquiera, en algún momento la haré mejor.
 ** voy a empezar un lento proceso para forzar a la gente a escribirme al nuevo, si querés agendar mi nuevo mail mandame un mail contándome lo que se cante :)
 *** cosa que probablemente nunca haga, pero tengo pensado migrar mi blog a algo mas estático, quizás nikola, quizás alguna otra cosa hecha a mano.

viernes, mayo 18, 2012

Enable gzip compression in jetty webserver (static and dinamic content)

GZIP Compression

Guest post from Javier Dall' Amore

GZIP Compression can be used to reduce the amount of data being sent "over the wire". Compression is applied as a transport encoding. This can greatly improve webapplication performance, however it can also consume more CPU and some content (eg images) cannot be well compressed.

Static Content

The Jetty Default Servlet can serve precompressed static content as a transport encoding and avoid the expense of on-the-fly compression. This servlet, normally mapped to /, provides the handling for static content, OPTIONS and TRACE methods for the context. One of its init parameters is "gzip". If set to true, then static content will be served as gzip content encoded if a matching resource is found ending with ".gz". So if a request for "jquery.js" is received and the file "jquery.js.gz" exists, then it will be served as "jquery.js" with a gzip transport encoding.

<init-param>

 <param-name>gzip</param-name>

 <param-value>true</param-value>

</init-param>

GzipFilter(dynamic content)

The Jetty Gzip Filter is a compression filter that can be applied to almost any dynamic resource (servlet). It fixes many of the bugs in commonly available compression filters (eg handles all ways that content length may be set) and has been testing with Jetty continuations and suspending requests.

This filter will gzip or deflate the content of a response if:

  1. The filter is mapped to a matching path
  2. accept-encoding header is set to either gzip, deflate or a combination of those
  3. The response status code is >=200 and <300
  4. The content length is unknown or more than the minGzipSize initParameter or the minGzipSize is 0(default)
  5. The content-type is in the comma separated list of mimeTypes set in the mimeTypes initParameter or if no mimeTypes are defined the content-type is not "application/gzip"
  6. No content-encoding is specified by the resource

If both gzip and deflate are specified in the accept-encoding header, then gzip will be used.

Compressing the content can greatly improve the network bandwidth usage, but at a cost of memory and CPU cycles.

To enable gzip dynamic compression, add the this filter definition to your "web.xml". This works for jetty 7 but for jetty 6 you should replace the filter-class for org.mortbay.servlet.GzipFilter:

<filter>

 <filter-name>GzipFilter</filter-name>

 <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>

  <init-param>

  <param-name>mimeTypes</param-name>

  <param-value>text/html,text/plain,text/xml,application/xhtml+xml,text/css,application/javascript,application/json,image/svg+xml</param-value>

 </init-param>

</filter>

<filter-mapping>

 <filter-name>GzipFilter</filter-name>

 <url-pattern>/*</url-pattern>

</filter-mapping>

miércoles, mayo 09, 2012

quiero (se puede?)

quiero que grep me deje decirle que ignore las lineas que matchean pero son mas largas que N caracteres.

caso: haces "grep -R algo *" y te matchea un js comprimido, feliz búsqueda 10000 lineas mas abajo.

se puede? lo hacen?

PS: no, no quiero aprender awk :)

Update: Roberto Alsina acaba de ahorrarme mucho tiempo a futuro proponiendo esta solución:

grep cosa * | cut -c1-80 

que corta cada linea.

esto de ser vago y preguntar en broadcast funciona :P

Seguidores

Archivo del Blog