Ruby snippet: Remover todos los caracteres no ASCII 127 de un string

Lo encontré hace tiempo en Stackoverflow, pero no encuentro el link :\

class String

  # remove all non 127-ASCII chars
  def remove_non_ascii
    n=self.split("")
    self.slice!(0..self.size)
    n.each { |b|
      if b[0].to_i< 33 || b[0].to_i>127 then
        self.concat('')
      else
         self.concat(b)
      end
    }
    self.to_s
  end
  
end

Ejemplo

puts "Ñandú" #and

Gist

Publicado en Ruby | Etiquetado , , | Deja un comentario

Ruby snippets: Encontrar el Día más próximo a una fecha

Encontrar el Día más próximo a una fecha (en el ejemplo el lunes próximo)

Date.commercial(Date.today.year, 1+Date.today.cweek, 1)

Donde el primer argumento es el año actual, el segundo es la semana del año, el tercero el día de la semana que buscamos (lunes=1…)

Rdoc: Date.commercial | Fuente: Stack Overflow

Publicado en Programación | Etiquetado , , | Deja un comentario

Algunas presentaciones Startechconf 2011

He asistido a pocas conferencias en mi vida, pero la StarTechConf (realizada en Santiago de Chile) ha sido por lejos la mejor y más motivante para los que nos dedicamos al desarrollo web.

Algunas de las presentaciones después del salto

Sigue leyendo

Publicado en Uncategorized | Etiquetado , , , , | Deja un comentario

Instalar Ruby on Rails en OSX Lion vía RVM

Mini entrada con una útil guía poder tener instaladas varias versiones de Ruby  ( y rails) en Lion

Enlace: Guía de instalación (en inglés)

Publicado en Programación, Ruby on Rails | Etiquetado , , | 1 comentario

Smashing Magazine – 50 Set de Iconos de alta calidad y gratis

Desde Smashing Magazine, sitio web dedicado al diseño web, llega esta nueva recopilación de iconos de diferentes índoles. Muchos de ellos con licencia Creative Commons para ser usados sin mayores restricciones en nuestros sitios web.

http://www.smashingmagazine.com/2010/11/09/50-free-high-quality-icons-sets/

Publicado en Diseño | Etiquetado , | Deja un comentario

Configurando sfDoctrineGuardPlugin – Parte 1

Desde mi punto de vista, lejos el plugin más útil que existe en symfony es el sfGuardPlugin y con Doctrine como ORM por defecto, lo es sfDoctrineGuardPlugin.

En las siguiente entrada describiré cómo dejar funcionando el ingreso autentificado y cómo crear una plantilla personalizada para el ingreso de los usuarios. Se utilizará la versión 5.0 estable (19/07/2010)

Sigue leyendo

Publicado en Symfony | Etiquetado , , , , | 28 comentarios

Buenas Prácticas para Acelerar tus Sitios Web, Según Yahoo

En el sitio para desarrolladores de Yahoo hay interesante artículo que describe algunas técnicas para mejorar el rendimiento de los sitios web, algunas de las técnicas que plantea, son las siguientes:

  • Minimize HTTP Requests
  • Use a Content Delivery Network
  • Add an Expires or a Cache-Control Header
  • Gzip Components
  • Put Stylesheets at the Top
  • Put Scripts at the Bottom
  • Avoid CSS Expressions
  • Make JavaScript and CSS External
  • Reduce DNS Lookups
  • Minify JavaScript and CSS
  • Avoid Redirects
  • Remove Duplicate Scripts
  • Make Ajax Cacheable
  • Flush the Buffer Early
  • Use GET for AJAX Requests
  • Post-load Components
  • Preload Components
  • Reduce the Number of DOM Elements
  • Split Components Across Domains
  • Minimize the Number of iframes
  • Optimize Images
  • Avoid Empty Image src

Sin duda no está demás revisar el artículo y ver cómo pueden mejorar el rendimiento de nuestros desarrollos.

Enlace: http://developer.yahoo.com/performance/rules.html

Publicado en Internet | Etiquetado , , | Deja un comentario

Guía para instalar SQL Server 2008 R2

Encontré la siguiente guía, paso a paso y con fotos, para instalar SQL Server 2008 R2: http://www.sqlcoffee.com/SQLServer2008_0013.htm (Sitio en Inglés)

Publicado en Bases de Datos, SQL Server | Etiquetado , | Deja un comentario

Dibujo una Estrella en un Canvas HTML 5

Ayer mientras no podía dormir, me puse a ver algunas de las novedades de HTML 5 y me llamó la atención el objeto canvas, lienzo en el que podemos dibujar libremente por medio de matemáticas y proporciones.  Lo que traté de hacer fue dibujar una estrella, medio al ojo medio matemáticas, con el objetivo cumplido dibujé la bandera de Chile:

<!doctype html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>

        <script type="text/javascript" src="canvasEstrella.js"></script>
        <script type="text/javascript">

            window.onload = function(){

                var elemento = document.getElementById('canvas_chile');
                if (elemento && elemento.getContext) {
                    var ctx = elemento.getContext('2d');
                    if (ctx) {

                        // Bordes de la bandera, un rectángulo blanco.
                        ctx.fillStyle = "#FFFFFF";
                        ctx.fillRect(0, 0, 600, 400);

                        // Franja inferior, roja
                        ctx.fillStyle = '#DC241F';
                        ctx.fillRect(0, 200, 600, 200);

                        // Cuadrado superior, azul:
                        ctx.fillStyle = '#0035AD';
                        ctx.fillRect(0, 0, 200, 200);

                        //Dibujar la estrella, blanca:

                        ctx.fillStyle = "#FFFFFF";

                        // Coordenadas del centro de la estrella:
                        var centroX=100;

                        // Radio de la circunferencia de circunscribe a la estrella:
                        var radio=50;
                        canvasEstrella(ctx, centroX, radio);
                        ctx.fill();

                    }
                }
            }

        </script>
    </head>

    <body>
    <canvas id="canvas_chile" width="600" height="400"
            style="margin: 60px 40px;-webkit-border-radius: 10px; -webkit-box-shadow: 10px 10px 5px #999;">
        Si ves este mensaje, tu navegador no soporta el objeto canvas
    </canvas>
</body>
</html>

La implementación de la función canvasEstrella(…):

/**
 * Crea una estrella, en objeto canvas, circunscrito en una circunferencia a definir.
 *
 * ctx: Context "2d" en el que se dibujará la estrella.
 * centroX: coordenada en X del centro de la circunferencia que circunscribe a la estrella.
 * radio: radio de la circunferencia que circunscribe a la estrella.
 */
function canvasEstrella(ctx, centroX, radio){

    var PP = 80/radio; //Proporcion

    //Traslación: se toma como referencia el centro
    //y la coordenda del primer vertice (100/p).

    var dif = (centroX-(100/PP));

    // Dibujo de la estrella... al ojo.
    ctx.beginPath();
    ctx.moveTo((100/PP)+dif,(20/PP)+dif);//1
    ctx.lineTo((118/PP)+dif,(73/PP)+dif);//2
    ctx.lineTo((175/PP)+dif,73/PP+dif);//3
    ctx.lineTo((132/PP)+dif,110/PP+dif);//4
    ctx.lineTo((149/PP)+dif,164/PP+dif);//5
    ctx.lineTo((100/PP)+dif,132/PP+dif);//6
    ctx.lineTo((52/PP)+dif,164/PP+dif);//7
    ctx.lineTo((69/PP)+dif,110/PP+dif);//8
    ctx.lineTo((25/PP)+dif,73/PP+dif);//9
    ctx.lineTo((81/PP)+dif,73/PP+dif);//10
    ctx.closePath();

}

El resultado se ve así

Enlaces:
How To Draw A Star | Wikipedia: Bandera Chilena | Manual de Canvas del HTML5

Publicado en HTML 5 | Etiquetado , , , , | 2 comentarios

HMTL5 Rocks!

De la mano de Google, HTML5Rocks es un sitio dedicado a las bondades que trae este nuevo estándar (?), incluye descripciones, ejemplos y tutoriales de las nuevas características (HTML, JavaScript, CSS3). Como era de esperar, estos tutoriales están pensados para poner a prueba las características de Chrome, Safari, Firefox, Opera (en algunas, por no decir ninguna, se aplican a iExplorer). Quizás lo mas interesante para un principiante es la presentación de más de 40 diapos que muestra qué es lo nuevo con algunos ejemplos para que juguemos unos instantes (hay algunos efectos asombrosos =0).
Enlace: http://www.html5rocks.com/

Publicado en Internet | Etiquetado , , , , | Deja un comentario

Modificación HUD para Adium incompatible con Safari 5

Hace algunas se ha liberado horas la versión 5 del navegador de Apple Safari y la primera gran novedad que noté es que el programa de mensajería Adium deja de funcionar correctamente si tenemos instalado la modificación HUD. Para que vuelva a funcionar debemos volver a la versión sin modificar, ¿cómo se hace? Borrando el plugin de HUD, lo puede hacer desde el administrador de plugins o borrandolo directamente desde la carpeta de recursos de la aplicación que se encuentra en:

/Users/tuUsuario/Library/Application Support/Adium 2.0

Mientras no haya una actualización para esta modificación, y si quieres usar Safari 5 (o las actualizaciones de sistema te obligaron) no queda otra que volver a la versión original.

Publicado en Mac OS X | Etiquetado , , , | Deja un comentario

Calendario de feriados chilenos para iCal

Hoy navegando por la página de descargas de Apple encontré un apartado para iCal, la aplicación de calendarios de OSX, en ella me topé con un útil calendario que incluye los feriados chilenos para el 2010. Éste se integra perfectamente al calendario que ya estás usando incluso al de Google. A continuación el enlace:

Enlace: Festivos Chilenos 2010

Publicado en Mac OS X | Etiquetado , | Deja un comentario