Record Mundial de descargas de Mozilla Firefox 3

Junio 18, 2008

No cabe duda que hay muchos usuarios alrededor del mundo que descargaron Firefox 3 aunque el servidor tuvo una caída de 2 horas debido a la avalancha de descargas. Y nos tomo por sorpresa que el inicio de las descargas era a las 10 a.m. (Hora de San Francisco, EE.UU.)

Si deseas más información del record mundial de descargas

http://www.spreadfirefox.com/en-US/worldrecord/

Si quieres saber el numero actual de descargas:
http://downloadcounter.sj.mozilla.com/

Si quieres sentirte orgulloso de haber sido participe del record mundial y tener un certicado (en formato PDF) entra en:

http://www.spreadfirefox.com/en-US/worldrecord/certificate_form


Si todavia no te has descargado el Firefox 3, puedes hacerlo en:

http://mozilla.com/firefox

Un video – screencast que nos da la gente de Mozilla:

http://videos.mozilla.org/firefox3/screencast1/es.flv


QEM – Quest Error Manager – maneja errores y excepciones en plsql

Junio 17, 2008

Quest Error Manager es un framework que te ayuda a estandarizar el manejo de los errores y excepciones en aplicaciones ORACLE PLSQL. Escritas por el bien conocido Steven Feuersteins, básicamente son 4 tablas (q$error_context, q$error, q$error_instance, q$log) y un package (q$error_manager), te descargas el archivo qem.zip descomprimes y solo tendras que ejecutar el script: qem$install.sql que te añadirá en tu esquema las tablas y el package, luego viene una demo y ejemplos para que puedas ver su funcionamiento.

Según Steven el QEM te ayudará en 2 areas:

1.- Definición y manejo de errores

2.- Tracear tu aplicación en tiempo de ejecución.

Si luego decides quitarlo de tu esquema Steven ya te creado el script qem$uninstall.sql

No dudo que cada uno ya ha creado y tiene montado un manejo de errores y excepciones en sus aplicaciones pero no estaria mal echarle un vistazo al código que siempre se puede aprender y más de Steven Feuersteins un Gurú del PLSQL.

Info:
http://www.toadworld.com/Knowledge/DatabaseKnowledge/
StevenFeuersteinsPLSQLObsession/MyPetProjectsandContributions/
QuestErrorManagerQEM/tabid/210/Default.aspx

Descargar:
http://www.oracleplsqlprogramming.com/downloads/qem.zip

Página de Steven Feuersteins:
http://www.stevenfeuerstein.com/


Script Sharp – desarrolla en C Sharp y genera código Javascript

Junio 17, 2008

Script# (Script Sharp), es un proyecto de Nikhil Kothari (creador del web development helper), básicamente es una herramienta para que los desarrolladores (.NET) que escriben código C# (C sharp) no tengan que escribir código javascript. Cabe resaltar que esta herramienta ha obtenido un premio a la excelencia en la ingenieria que otorga Microsoft.

Una imagen de como es la herramienta:

Y aqui va el tipico ejemplo “Hola Mundo”:

Si tenemos estos elementos en nuestro documento HTML:

<input type="text" id="nameTextBox" />
<input type="button" id="okButton" value="OK" />
<span id="helloLabel"></span>

Ahora escribo el script en C sharp en mi fichero HelloWorld.cs, haremos lo siguiente: en el evento onclick del boton (input type=”button”) recupero el valor de la caja de texto (nput type=”text”) y luego hare una llamada ajax y finalmente mostraré el resultado en la etiqueta (span).

using System;
using ScriptFX;
using ScriptFX.UI;

namespace HelloWorld {

    public class HelloWorldScriptlet : IScriptlet {

        private Button _okButton;
        private TextBox _nameTextBox;
        private Label _helloLabel;

        private XMLHttpRequest _request;

        public void Start() {
            _okButton = new Button(Document.GetElementById("okButton"));
            _nameTextBox = new TextBox(Document.GetElementById("nameTextBox"));
            _helloLabel = new Label(Document.GetElementById("helloLabel"));

            _okButton.Click += new EventHandler(OnOKButtonClick);
        }

        private void OnOKButtonClick(object sender, EventArgs e) {
            Callback completedCallback = new Callback(this.OnRequestComplete);

            _request = new XMLHttpRequest();
            _request.Onreadystatechange = Delegate.Unwrap(completedCallback);
            _request.Open("GET", "Hello.axd?name=" + _nameTextBox.Text, /* async */ true);
            _request.Send(null);
        }

        private void OnRequestComplete() {
            if (_request.ReadyState == 4) {
                _request.Onreadystatechange = null;

                string greeting = _request.ResponseText;
                _helloLabel.Text = greeting;
            }
        }
    }
}

Segun Nikhil aplicamos la magia del Script Sharp, con el siguiente comando:

ssc /ref:sscorlib.dll /ref:Script.ScriptFX.Core.dll /debug /out:HelloWorld.js HelloWorld.cs

y luego tenemos nuestro fichero HelloWorld.js con el siguiente código javascript:

Type.registerNamespace('HelloWorld');

////////////////////////////////////////////////////////////////////////////////
// HelloWorld.HelloWorldScriptlet

HelloWorld.HelloWorldScriptlet = function Scenarios_HelloWorldScriptlet() {
}
HelloWorld.HelloWorldScriptlet.prototype = {
    _okButton: null,
    _nameTextBox: null,
    _helloLabel: null,
    _request: null,

    start: function Scenarios_HelloWorldScriptlet$start() {
        this._okButton = new ScriptFX.UI.Button(document.getElementById('okButton'));
        this._nameTextBox = new ScriptFX.UI.TextBox(document.getElementById('nameTextBox'));
        this._helloLabel = new ScriptFX.UI.Label(document.getElementById('helloLabel'));
        this._okButton.add_click(new Delegate(this, this._onOKButtonClick));
    },

    _onOKButtonClick: function Scenarios_HelloWorldScriptlet$_onOKButtonClick(sender, e) {
        var completedCallback = new Delegate(this, this._onRequestComplete);
        this._request = new XMLHttpRequest();
        this._request.onreadystatechange = Delegate.unwrap(completedCallback);
        this._request.open('GET', 'Hello.axd?name=' + this._nameTextBox.get_text(), true);
        this._request.send(null);
    },

    _onRequestComplete: function Scenarios_HelloWorldScriptlet$_onRequestComplete() {
        if (this._request.readyState == 4) {
            this._request.onreadystatechange = null;
            var greeting = this._request.responseText;
            this._helloLabel.set_text(greeting);
        }
    }
}

HelloWorld.HelloWorldScriptlet.registerClass('HelloWorld.HelloWorldScriptlet', null, ScriptFX.IScriptlet);

Página Oficial:
http://www.nikhilk.net/ScriptSharpIntro.aspx

Video (10 minutos):
http://www.nikhilk.net/Content/Video/ScriptSharpIntro.wmv

Descargar:
http://projects.nikhilk.net/Binaries/ScriptSharp.zip

Tutorial PDF:
http://projects.nikhilk.net/Binaries/ScriptSharp.pdf


Google tiene nuevo favicon

Junio 15, 2008

Todos los que usamos Google nos hemos dado cuenta de que el favicon ha cambiado, la razón es porque quieren tener un favicon según sea la plataforma:

sus creativos han diseñados varios favicon:

Incluso estan recibiendo propuestas, puedes crear un favicon para google y luego enviarselo:

http://www.google.com/faviconideas/

Información Oficial:
http://googleblog.blogspot.com/2008/06/
one-fish-two-fish-red-fish-blue-fish.html

Via:
http://blogandweb.com/2008/06/09/
detras-del-nuevo-favicon-de-google/


Adobe lanzo programas Creative Suite 4 Beta

Junio 15, 2008