jueves, 17 de diciembre de 2009

FORA.tv - Steve Wozniak: How I Invented the Personal Computer

FORA.tv - Steve Wozniak: How I Invented the Personal Computer

Programación por capas - Wikipedia, la enciclopedia libre

Programación por capas - Wikipedia, la enciclopedia libre

Programación por capas
De Wikipedia, la enciclopedia libre
Saltar a navegación, búsqueda

La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño; un ejemplo básico de esto consiste en separar la capa de datos de la capa de presentación al usuario.

Tres capas.PNG

La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algún cambio, sólo se ataca al nivel requerido sin tener que revisar entre código mezclado. Un buen ejemplo de este método de programación sería el modelo de interconexión de sistemas abiertos.

Además, permite distribuir el trabajo de creación de una aplicación por niveles; de este modo, cada grupo de trabajo está totalmente abstraído del resto de niveles, de forma que basta con conocer la API que existe entre niveles.

En el diseño de sistemas informáticos actual se suele usar las arquitecturas multinivel o Programación por capas. En dichas arquitecturas a cada nivel se le confía una misión simple, lo que permite el diseño de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que las necesidades aumenten).

El diseño más utilizado actualmente es el diseño en tres niveles (o en tres capas).
Capas y niveles [editar]

1.- Capa de presentación: es la que ve el usuario (también se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica únicamente con la capa de negocio. También es conocida como interfaz gráfica y debe tener la característica de ser "amigable" (entendible y fácil de usar) para el usuario.

2.- Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de él. También se consideran aquí los programas de aplicación.

3.- Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.

Todas estas capas pueden residir en un único ordenador, si bien lo más usual es que haya una multitud de ordenadores en donde reside la capa de presentación (son los clientes de la arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo ordenador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o más ordenadores. Así, si el tamaño o complejidad de la base de datos aumenta, se puede separar en varios ordenadores los cuales recibirán las peticiones del ordenador en que resida la capa de negocio.

Si, por el contrario, fuese la complejidad en la capa de negocio lo que obligase a la separación, esta capa de negocio podría residir en uno o más ordenadores que realizarían solicitudes a una única base de datos. En sistemas muy complejos se llega a tener una serie de ordenadores sobre los cuales corre la capa de negocio, y otra serie de ordenadores sobre los cuales corre la base de datos.


En una arquitectura de tres niveles, los términos "capas" y "niveles" no significan lo mismo ni son similares.

El término "capa" hace referencia a la forma como una solución es segmentada desde el punto de vista lógico:

Presentación/ Lógica de Negocio/ Datos.

En cambio, el término "nivel" corresponde a la forma en que las capas lógicas se encuentran distribuidas de forma física. Por ejemplo:

* Una solución de tres capas (presentación, lógica del negocio, datos) que residen en un solo ordenador (Presentación+lógica+datos). Se dice que la arquitectura de la solución es de tres capas y un nivel.

* Una solución de tres capas (presentación, lógica del negocio, datos) que residen en dos ordenadores (presentación+lógica, lógica+datos). Se dice que la arquitectura de la solución es de tres capas y dos niveles.

* Una solución de tres capas (presentación, lógica del negocio, datos) que residen en tres ordenadores (presentación, lógica, datos). La arquitectura que la define es: solución de tres capas y tres niveles.

Simple Flex Tutorial

I've been learning Flex for a presentation at my local CFUG, and I'm actually quite impressed with how much you can do with so little code.

However, most of the Flex tutorials I have found are very long and over simplified, so I've created a simple blog reader in 23 lines of MXML code to use as a tutorial. Here's what our Flex Application will look like:
flex blog reader screen shot
How does the example work?

When you click the Load Blog Entries button my RSS feed entries are loaded into the datagrid. When you click on a row in the datagrid the corresponding entry is loaded into the text area.
Step 1 - XML and Application declaration

Start your XML file with a XML declaration, and an mx:Application tag:





Step 2 - Define your HTTPService

Our first step is to define the HTTPService that we will use to connect to my RSS feed. We will give an id of httpRSS so we can refer back to it.



Step 3 - Enclose your controls within a panel

A panel is simply a container to put controls (the DataGrid, TextArea, and Button) into. We are going to set some attributes on the panel as well, it should be pretty easy to figure out what they mean:



Step 4 - Define your DataGrid

We are using the DataGrid component to display the list of blog entries in my RSS feed, along with their date.

This step is probably the most complicated step because we have to bind our RSS xml data to the datagrid, and define an event handler when the rows are clicked.

In the attributes of the DataGrid we are using dynamic variables or expressions denoted by the curly braces {variable}.










Ok so there is a lot going on there, first so I'll break it down a bit:
width

We are setting the width dynamically based on the size of its parent panel reader, specifically we set it to be 15 pixels narrower than its panel.
dataProvider

In the dataProvider attribute we are binding the data for this grid to the result of our HTTPService named httpRSS. More specifically we want to bind each item tag in our XML file to a row in the datagrid. Since the item tags are inside the rss and channel tags we refer to it the array of items as httpRSS.result.rss.channel.item.
cellPress

Next we want to create an event handler that will display the contents of the description tag inside the item that is clicked on. Using the variable entries.selectedIndex we know which item was clicked on, and we can refer to the description (the entry body) of that item as: httpRSS.result.rss.channel.item[entries.selectedIndex].description.

Now we just need to set the value of our TextArea which we will define in the next step to the rss item description, so we simply assign that value to the htmlText property of the TextArea (whose name will be body).
columns

Now we need to define which columns we are to display in the datagrid. The columnName must match the tag name that we want it to correspond to.
Step 5 - Define the TextArea

Use the mx:TextArea tag to define the text area where the entry body will go:



Step 6 - Create a Button

Our last control to define is a Button which will simply tell the HTTPService to make the request.



In the click event handler we call the send() method on our HTTPService object.
Step 7 - Close Panel and Application

Simply close some tags, and your done!


con referencia a:

"I've been learning Flex for a presentation at my local CFUG, and I'm actually quite impressed with how much you can do with so little code. However, most of the Flex tutorials I have found are very long and over simplified, so I've created a simple blog reader in 23 lines of MXML code to use as a tutorial. Here's what our Flex Application will look like: How does the example work? When you click the Load Blog Entries button my RSS feed entries are loaded into the datagrid. When you click on a row in the datagrid the corresponding entry is loaded into the text area. Step 1 - XML and Application declaration Start your XML file with a XML declaration, and an mx:Application tag: <?xml version="1.0" ?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml"> Step 2 - Define your HTTPService Our first step is to define the HTTPService that we will use to connect to my RSS feed. We will give an id of httpRSS so we can refer back to it. <mx:HTTPService id="httpRSS" url="http://www.petefreitag.com/rss/" resultFormat="object" /> Step 3 - Enclose your controls within a panel A panel is simply a container to put controls (the DataGrid, TextArea, and Button) into. We are going to set some attributes on the panel as well, it should be pretty easy to figure out what they mean: <mx:Panel id="reader" title="Pete Freitag's Blog Reader" width="500"> Step 4 - Define your DataGrid We are using the DataGrid component to display the list of blog entries in my RSS feed, along with their date. This step is probably the most complicated step because we have to bind our RSS xml data to the datagrid, and define an event handler when the rows are clicked. In the attributes of the DataGrid we are using dynamic variables or expressions denoted by the curly braces {variable}. <mx:DataGrid id="entries" width="{reader.width-15}" dataProvider="{httpRSS.result.rss.channel.item}" cellPress="{body.htmlText=httpRSS.result.rss.channel.item[entries.selectedIndex].description}"> <mx:columns> <mx:Array> <mx:DataGridColumn columnName="title" headerText="Title" /> <mx:DataGridColumn columnName="pubDate" headerText="Date" /> </mx:Array> </mx:columns> </mx:DataGrid> Ok so there is a lot going on there, first so I'll break it down a bit: width We are setting the width dynamically based on the size of its parent panel reader, specifically we set it to be 15 pixels narrower than its panel. dataProvider In the dataProvider attribute we are binding the data for this grid to the result of our HTTPService named httpRSS. More specifically we want to bind each item tag in our XML file to a row in the datagrid. Since the item tags are inside the rss and channel tags we refer to it the array of items as httpRSS.result.rss.channel.item. cellPress Next we want to create an event handler that will display the contents of the description tag inside the item that is clicked on. Using the variable entries.selectedIndex we know which item was clicked on, and we can refer to the description (the entry body) of that item as: httpRSS.result.rss.channel.item[entries.selectedIndex].description. Now we just need to set the value of our TextArea which we will define in the next step to the rss item description, so we simply assign that value to the htmlText property of the TextArea (whose name will be body). columns Now we need to define which columns we are to display in the datagrid. The columnName must match the tag name that we want it to correspond to. Step 5 - Define the TextArea Use the mx:TextArea tag to define the text area where the entry body will go: <mx:TextArea id="body" editable="false" width="{reader.width-15}" height="300" /> Step 6 - Create a Button Our last control to define is a Button which will simply tell the HTTPService to make the request. <mx:Button label="Load Blog Entries" click="{httpRSS.send()}" /> In the click event handler we call the send() method on our HTTPService object. Step 7 - Close Panel and Application Simply close some tags, and your done! </mx:Panel> </mx:Application> One Caveat Flex 1.5 uses a proxy to invoke HTTPService calls, and other remote service calls, and for security reasons the proxy will block the HTTP call. You add the RSS feed url (or simply http://*) to the proxy whitelist in your flex-config.xml. See this KB article for more info. Complete MXML source code: <?xml version="1.0" ?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml"> <mx:HTTPService id="httpRSS" url="http://www.petefreitag.com/rss/" resultFormat="object" /> <mx:Panel id="reader" title="Pete Freitag's Blog Reader" width="500"> <mx:DataGrid id="entries" width="{reader.width-15}" dataProvider="{httpRSS.result.rss.channel.item}" cellPress="{body.htmlText=httpRSS.result.rss.channel.item[entries.selectedIndex].description}"> <mx:columns> <mx:Array> <mx:DataGridColumn columnName="title" headerText="Title" /> <mx:DataGridColumn columnName="pubDate" headerText="Date" /> </mx:Array> </mx:columns> </mx:DataGrid> <mx:TextArea id="body" editable="false" width="{reader.width-15}" height="300" /> <mx:Button label="Load Blog Entries" click="{httpRSS.send()}" /> </mx:Panel> </mx:Application>"
- Simple Flex Tutorial (ver en Google Sidewiki)

miércoles, 16 de diciembre de 2009

GANTT-Diagramm GANTT diagram Diagramme de GANTT Diagramma di GANTT Diagrama de GANTT Diagrama de GANTT

Introducción al diagrama de GANTT

El diagrama de GANTT es una herramienta que le permite al usuario modelar la planificación de las tareas necesarias para la realización de un proyecto. Esta herramienta fue inventada por Henry L. Gantt en 1917.

Debido a la relativa facilidad de lectura de los diagramas de GANTT, esta herramienta es utilizada por casi todos los directores de proyecto en todos los sectores. El diagrama de GANTT es una herramienta para el director del proyecto que le permite realizar una representación gráfica del progreso del proyecto, pero también es un buen medio de comunicación entre las diversas personas involucradas en el proyecto.

Este tipo de modelo es particularmente fácil de implementar con una simple hoja de cálculo, pero también existen herramientas especializadas, la más conocida es Microsoft Project. También existen equivalentes de este tipo de software que son gratis.
Cómo crear un diagrama de GANTT

En un diagrama de GANTT, cada tarea es representada por una línea, mientras que las columnas representan los días, semanas, o meses del programa, dependiendo de la duración del proyecto. El tiempo estimado para cada tarea se muestra a través de una barra horizontal cuyo extremo izquierdo determina la fecha de inicio prevista y el extremo derecho determina la fecha de finalización estimada. Las tareas se pueden colocar en cadenas secuenciales o se pueden realizar simultáneamente.

Diagrama GANTT de un proyecto Web

Si las tareas son secuenciales, las prioridades se pueden confeccionar utilizando una flecha qué desciende de las tareas más importantes hacia las tareas menos importantes. La tarea menos importante no puede llevarse a cabo hasta que no se haya completado la más importante.

Prioridades en un diagrama de GANTT

A medida que progresa una tarea, se completa proporcionalmente la barra que la representa hasta llegar al grado de finalización. Así, es posible obtener una visión general del progreso del proyecto rastreando una línea vertical a través de las tareas en el nivel de la fecha actual. Las tareas ya finalizadas se colocan a la izquierda de esta línea; las tareas que aún no se han iniciado se colocan a la derecha, mientras que las tareas que se están llevando a cabo atraviesan la línea. Si la línea está cubierta en la parte izquierda, ¡la tarea está demorada respecto de la planificación del proyecto!

Idealmente, un diagrama como este no debe incluir más de 15 ó 20 tareas para que pueda caber en una sola hoja con formato A4. Si el número de tareas es mayor, es posible crear diagramas adicionales en los que se detallan las planificaciones de las tareas principales.
Acontecimientos

Adicionalmente, es posible que los eventos más importantes, que no sean las tareas mismas, se muestren en la planificación como puntos de conexión del proyecto: estos se denominan acontecimientos.

Los acontecimientos permiten que el proyecto se realice en fases claramente indentificables, evitando que se prolongue la finalización del mismo. Un acontecimiento podría ser la producción de un documento, la realización de una reunión o el producto final de un proyecto. Los acontecimientos son tareas de duración cero, representadas en el diagrama por un símbolo específico, frecuentemente un triángulo invertido o un diamante.

Representación de un acontecimiento en un diagrama de GANTT
Recursos

Generalmente es posible (y útil) mostrar referencias en el diagrama, humanas o materiales, para permitir calcular el tiempo restante y tener una idea del costo global.

Para ser más concisos, por lo general sólo serán necesarios las iniciales o los nombres de los responsables.
Herramientas

* Proyecto GANTT

Fte: http://es.kioskea.net/contents/projet/gantt.php3

con referencia a:

"Introducción al diagrama de GANTT El diagrama de GANTT es una herramienta que le permite al usuario modelar la planificación de las tareas necesarias para la realización de un proyecto. Esta herramienta fue inventada por Henry L. Gantt en 1917.Debido a la relativa facilidad de lectura de los diagramas de GANTT, esta herramienta es utilizada por casi todos los directores de proyecto en todos los sectores. El diagrama de GANTT es una herramienta para el director del proyecto que le permite realizar una representación gráfica del progreso del proyecto, pero también es un buen medio de comunicación entre las diversas personas involucradas en el proyecto. Este tipo de modelo es particularmente fácil de implementar con una simple hoja de cálculo, pero también existen herramientas especializadas, la más conocida es Microsoft Project. También existen equivalentes de este tipo de software que son gratis. Cómo crear un diagrama de GANTT En un diagrama de GANTT, cada tarea es representada por una línea, mientras que las columnas representan los días, semanas, o meses del programa, dependiendo de la duración del proyecto. El tiempo estimado para cada tarea se muestra a través de una barra horizontal cuyo extremo izquierdo determina la fecha de inicio prevista y el extremo derecho determina la fecha de finalización estimada. Las tareas se pueden colocar en cadenas secuenciales o se pueden realizar simultáneamente. Si las tareas son secuenciales, las prioridades se pueden confeccionar utilizando una flecha qué desciende de las tareas más importantes hacia las tareas menos importantes. La tarea menos importante no puede llevarse a cabo hasta que no se haya completado la más importante. A medida que progresa una tarea, se completa proporcionalmente la barra que la representa hasta llegar al grado de finalización. Así, es posible obtener una visión general del progreso del proyecto rastreando una línea vertical a través de las tareas en el nivel de la fecha actual. Las tareas ya finalizadas se colocan a la izquierda de esta línea; las tareas que aún no se han iniciado se colocan a la derecha, mientras que las tareas que se están llevando a cabo atraviesan la línea. Si la línea está cubierta en la parte izquierda, ¡la tarea está demorada respecto de la planificación del proyecto! Idealmente, un diagrama como este no debe incluir más de 15 ó 20 tareas para que pueda caber en una sola hoja con formato A4. Si el número de tareas es mayor, es posible crear diagramas adicionales en los que se detallan las planificaciones de las tareas principales. Acontecimientos Adicionalmente, es posible que los eventos más importantes, que no sean las tareas mismas, se muestren en la planificación como puntos de conexión del proyecto: estos se denominan acontecimientos. Los acontecimientos permiten que el proyecto se realice en fases claramente indentificables, evitando que se prolongue la finalización del mismo. Un acontecimiento podría ser la producción de un documento, la realización de una reunión o el producto final de un proyecto. Los acontecimientos son tareas de duración cero, representadas en el diagrama por un símbolo específico, frecuentemente un triángulo invertido o un diamante. Recursos Generalmente es posible (y útil) mostrar referencias en el diagrama, humanas o materiales, para permitir calcular el tiempo restante y tener una idea del costo global. Para ser más concisos, por lo general sólo serán necesarios las iniciales o los nombres de los responsables. Herramientas Proyecto GANTT"
- Diagrama de GANTT (ver en Google Sidewiki)

Aplicaciones para el OMNIA i900

martes, 15 de diciembre de 2009

Mas de 100 aplicaciones para MAC

Mac OS X keyboard shortcuts

Start up hot-keys (press key while booting)

X = Force Mac OS X startup
C = Start up from a bootable CD
N = Attempt to start up from a compatible network server (NetBoot)
T = Start up in FireWire Target Disk mode
Opt-Cmd-Shift-Delete = Seeks a different startup volume
Shift = Start up in Safe Boot mode
Cmd-V = Start up in Verbose mode
Cmd-S = Start up in Single-User mode

Cmd-Opt-Esc = Force Quit menu
Cmd-Opt-D = Show/hide the dock
Ctrl-Eject = Bring up Shutdown/Sleep/Logout Dialog
Ctrl-Cmd-Eject = Restart immediately

Clipboard

Cmd-C = Copy
Cmd-V = Paste
Cmd-X = Cut
Cmd-A = Select All

Finder Navigation

Cmd-N = New Finder window
Cmd-W = Close Window
Opt-Cmd-W = Close all Windows
Cmd-Down = Open File/Folder
Cmd-Up = Navigate to parent
Cmd-Right = Expand folder (in list view)
Cmd-Left = Collapse Folder (in list view)
Opt-Cmd-Right = Expand folder and its subfolders (in list view)
Opt-Cmd-Up = Open parent folder and close current window
Cmd-Shift-H = Jump to your Home folder
Cmd-Shift-A = Jump to your Applications folder
Cmd-Shift U = Jump to your Utilities folder
Cmd-Shift K = Jump to the Network browser
Cmd-Shift G = Goto Folder…
Cmd-1 = View as Icons
Cmd-2 = View as List
Cmd-3 = View as Columns
Cmd-Space = Open Spotlight (OS X 10.4)
Cmd-Delete = Move file/folder to trash
Cmd-Click window title = Display the file path


Menu Commands

Shift-Cmd-Q = Log out
Shift-Opt-Cmd-Q = Log out immediately
Shift-Cmd-Delete = Empty Trash
Opt-Shift-Cmd-Delete = Empty Trash without dialog
Cmd-H = Hide window
Opt-Cmd-H = Hide Others
Cmd-N = File New window
Shift-Cmd-N = New Folder
Cmd-O = Open
Cmd-S = Save
Shift-Cmd-S = Save as
Cmd-P = Print
Cmd-W = Close Window
Opt-Cmd-W = Close all Windows
Cmd-I = Get Info
Opt-Cmd-I = Show Attributes Inspector
Cmd-D = Duplicate
Cmd-L = Make Alias
Cmd-R = Show original
Cmd-T = Add to Favorites
Cmd-Delete = Move to Trash
Cmd-E = Eject
Cmd-F = Find
Cmd-Z = Undo
Cmd-B = Hide Toolbar
Cmd-J = Show View Opts
Cmd = [ = Go Back
Cmd = ] = Go Forward
Shift-Cmd-C = Go to Computer
Shift-Cmd-H = Go to your Home folder
Shift-Cmd-I = Go to iDisk
Shift-Cmd-A = Go to Applications folder
Shift-Cmd-G = Go to Go-To Folder
Cmd-K = Connect to Server
Cmd-M = Minimize Window
Cmd-? = Open Mac Help
Cmd-Space = Open Spotlight (OS X 10.4)

Screen capture

Cmd-Shift 3 = Capture the screen to a file
Cmd Ctrl Shift 3 = Capture the screen to the clipboard
Cmd-Shift 4 = Select an area to be captured to a file
Cmd Ctrl Shift 4 = Select an area to be captured to the clipboard
Cmd-Shift 4, then press Space = Capture entire window


Universal Access

Opt-Cmd-* (asterisk) = Turn on Zoom
Opt-Cmd-+ (plus) = Zoom in
Opt-Cmd– (minus) = Zoom out
Cmd-Opt-Ctrl-8 = Invert Screen colours

Window Management

Cmd-W = Close window
Cmd-Opt-W = Close all windows
Cmd-M = Minimise window
Cmd-Opt-M = Minimise all windows
Cmd-H = Hide Application
Cmd-~ = Cycle through windows for current application
Ctrl-F4 = Cycle through every open window
Cmd-Tab = Bring up the Application Switcher.
Cmd-Tab = Cycle Forwards
Cmd-~ = Cycle Backwards
Cmd-Shift-Tab = Cycle Backwards
Cmd-Q = Quit application

Expose

F9 = Show all open windows on the screen at once
F10 = Show all windows for the current application.
F11 = Shows Desktop
F12 = Activates Dashboard
F12 (hold) = ejects disk

Miscellaneous

Opt-Cmd-D = Show/Hide Dock
Ctrl-Up = Move up one page
Ctrl-Down = Move down one page
Opt-Drag = Copy to new location
Opt-Cmd-Drag = Make alias in new location
Cmd-Drag = Move to new location without copying
Opt-Cmd-Eject = Sleep
Cmd-click window toolbar button (upper right corner) = Cycle through toolbar views
Ctrl-Cmd-D and mouse over word in Cocoa applications = shows Dictionary description for that word


http://www.silvermac.com/mac-os-x-keyboard-shortcuts/

con referencia a: Publicación de entradas de Sidewiki en Blogger : Contribute with Sidewiki - Ayuda de Barra Google (ver en Google Sidewiki)

Portátiles de Apple: Calibración de la batería del equipo para un rendimiento óptimo

Resumen
Puedes calibrar la batería de iones de litio de tu iBook, PowerBook, MacBook, MacBook Air o MacBook Pro para obtener el mejor rendimiento posible.

La batería dispone de un microprocesador interno que ofrece una estimación de la cantidad de energía que hay en la batería conforme se carga y descarga. La batería necesita volver a calibrarse de vez en cuando para que el tiempo y el porcentaje de batería que aparecen en pantalla sean los correctos y para que la batería funcione con la máxima eficacia. Deberías realizar esta operación la primera vez que utilices tu ordenador y luego cada unos pocos meses. Si habitualmente dejas tu ordenador portátil Apple enchufado a la CA y utilizas la batería pocas veces, lo mejor sería realizar este proceso una vez al mes. En el sitio web http://www.apple.com/es/batteries/ encontrarás más información útil acerca de las baterías y un calendario iCal que te recordará cuándo debes calibrar tu batería.

con referencia a: Publicación de entradas de Sidewiki en Blogger : Contribute with Sidewiki - Ayuda de Barra Google (ver en Google Sidewiki)

Consejos para maximizar la carga de la batería del portátil

Resumen
Puedes seguir algunos sencillos pasos para prolongar la carga de la batería del portátil de Apple.

A continuación, se especifican algunos pasos y configuraciones sencillos que puedes llevar a cabo para sacar el máximo provecho de la batería de tu MacBook, MacBook Pro, iBook o PowerBook.

Productos afectados
Ordenadores portátiles

Optimiza la configuración de la batería en preferencias de Economizador.
En el menú Apple, selecciona Preferencias del sistema.
En el menú Ver, selecciona Economizador.
Haz clic en Mostrar detalles.
Selecciona Batería o Alimentación con batería en el menú emergente "Configuración para".
Selecciona Batería mejor o más larga en el menú emergente Optimizar configuración de energía.
Estas configuraciones pondrán el disco duro en el modo de reposo siempre que sea posible y reducirán el rendimiento del microprocesador del ordenador para maximizar la duración de la batería. Si estás utilizando aplicaciones que requieren un uso intensivo del procesador, es posible que desees cambiar estas configuraciones para que el rendimiento del microprocesador no se vuelva a ver reducido.



Ajusta el brillo de la pantalla según el nivel adecuado más bajo.
Pulsa las teclas F1 (más oscuro) y F2 (más brillante) para atenuar el brillo de la pantalla hasta que esté lo más bajo posible al mismo tiempo que se pueda ver la pantalla adecuadamente.



Desactiva la tecnología y opciones que no se utilicen.
Igual que apagas las luces de una habitación vacía, también puedes apagar la tecnología y opciones que no utilices para maximizar la duración de la batería. Aquí tienes unas cuantas sugerencias:

Saca los CD y DVD que no se estén utilizando. Cada cierto tiempo, la unidad óptica gira para leer el CD o DVD. Esto consume energía.
Desconecta los periféricos cuando no los estés utilizando. Los periféricos conectados, como impresoras y cámaras digitales, pueden consumir energía de la batería aunque no los estés utilizando.
Si te encuentras en un lugar en el que no necesitas utilizar AirPort o Bluetooth, puedes apagarlos para ahorrar energía.

Para desconectar el AirPort:

En el menú Apple, selecciona Preferencias del sistema.
En el menú Ver, selecciona Red.
En el menú Mostrar, selecciona Configuraciones de puerto de red.
Elimina la marca de verificación de AirPort.
Haz clic en Aplicar ahora.
Para desconectar el Bluetooth en Mac OS X 10.2 o posterior:

En el menú Apple, selecciona Preferencias del sistema.
En el menú Ver, selecciona Bluetooth.
Haz clic en la ficha Configuración.
Haz clic en Apagar Bluetooth.


Fte: http://support.apple.com/kb/HT1446?viewlocale=es_ES

con referencia a: Publicación de entradas de Sidewiki en Blogger : Contribute with Sidewiki - Ayuda de Barra Google (ver en Google Sidewiki)

jueves, 26 de noviembre de 2009

intrinsic class en flex

Flex 1.5 y por consiguiente AS 2.0 define sus class como intrinsic

AS2 OOP: Class Structure
by senocular

Intrinsic Classes
There is yet another type of class for ActionScript 2.0. That's the intrinsic class. This type of class, however, is not really a class. It's more of a set of guidelines for a class. It serves only one purpose - to provide strict date type definitions for pre-existing classes.

Macromedia uses intrinsic classes to define data types for all internal objects and classes defined natively within Flash (you may have seen these in a Classes folder if you've ever dug around in your Flash MX 2004 install directory). These include objects like Array, MovieClip and Math. But when might you use them? That depends. When do you need to define just data typing for classes?

The best and probably the only situation where you personally, as a developer, would physically create an intrinsic class yourself would be if you were using ActionScript 1.0 classes within your ActionScript 2.0-based movie. ActionScript 1.0 classes, as you know, have no strict data typing associated with them. This isn't a horrible thing, but it's not a great thing either. Being the MX 2004 (or later) developer you are, you need those data type definitions to help you maintain efficiency and competency in your project. That's where intrinsic classes come into play.

Lets say you have a great class you made in ActionScript 1.0 that does everything you would ever need for this new project your working on. Only one problem, you're now working in ActionScript 2.0, not ActionScript 1.0. Ok, no problem. You can use ActionScript 1.0 with ActionScript 2.0 seamlessly easily enough. The only thing is, you won't have those amazing data type definitions for your wonderful class. Instead of re-writing your ActionScript 1.0 class completely as a new ActionScript 2.0 class, you can instead just write an intrinsic class that outlines the data types used and have it be applied to your still functional (and still wonderful) ActionScript 1.0 class as its being used within your current project.

[ intrinsic classes are type definitions for existing classes ]

All you would need to do is create a new ActionScript 2.0 class file with the name of your pre-existing class and label it as being intrinsic just as you label the class as being dynamic (it can be both if you want). Within this file, put all your property and methods with proper typing but no definitions. After all, you're avoiding re-writing your class completely, so the definitions themselves are not included.

intrinsic class className {

Here's an example that adds data typing to an ActionScript 1.0 class defined within the main Flash movie.

// in Wonderful.as
intrinsic class Wonderful {

var msg:String;
function doSomethingWonderful(allow:Boolean):Void;

}

// ActionScript 1.0 class in main Flash movie
var Wonderful = function(msg){

this.message = msg;

};
Wonderful.prototype.doSomethingWonderful = function(allow){

if (allow) {

trace(this.message +" is Wonderful!");

}

};

var ItsA:Wonderful = new Wonderful("Life");
ItsA.doSomethingWonderful("yes"); // error: type mismatch
ItsA.doSomethingWonderful(true); // Life is Wonderful!

Try it yourself! (zipped source)

Though the Wonderful class was created in the ActionScript 1.0 style of class definition, the compiler was still able to recognize a type mismatch when attempting to use a string as an argument for doSomethingWonderful. This is thanks to the definitions as specified in the intrinsic class in Wonderful.as.

One thing to be aware of if using intrinsic classes in this manner is that your existing class definitions (constructor functions) need to be defined with the var keyword. Otherwise an error will be generated because it assumes you're actually using the pre-existing intrinsic class and not creating a new definition. This could require some editing of older ActionScript 1.0 classes to correct this. At that point, however, it might not be such a bad idea to simply re-write it in ActionScript 2.0 altogether.

Intrinsic class definitions are also created for the new MX 2004 components. Because this new generation of components can be compiled prior to their use, it means there are no hooks for the Flash compiler to check to make sure you're using the component and its methods right. An intrinsic class gives the compiler the information it needs about the definitions contained within the component so that it can check for proper usage and data typing mismatches when your working with that component in your Flash movie. Though the intrinsic classes are not compiled within the .swc file (they're available in text format), because intrinsic classes only contain definitions without the implementation, the component author's internal code is still kept confidential.


Fte: http://www.kirupa.com/developer/oop2/AS2OOPClassStructure8.htm

lunes, 23 de noviembre de 2009

Timo y rastreo de emails

Todo en uno, un magnifico post que contiene: un intento de timo de un iphone y además muy bien explicado como rastrear la dirección email.

Iphone 3GS 32gigas Libre Por 300 €
Publicado por Yumbee el Miércoles, 5 Agosto 2009

Meneame

Mandalo por email

Vendo Iphone 3GS 32g Libre Por 300 €. Hola a tod@s esta es la oferta que ofrecía un usuario de ebay por un iphone 3GS de 32G y ademas Libre, para su uso con cualquier compañía Telefónica.

El articulo que hoy editare sale como consecuencia de la edición de esta otra entrada en la que aconsejaba alguna medidas para poder realizar una compra segura por internet; en el anterior Articulo al igual que en este pongo el enlace a el anuncio que da nombre al titulo y al que mande un E-Mail para informarme solo por curiosidad, ya que daba por hecho que se trataba de un “Timo”, por que si no, como nos van a vender un iPhone que por ejemplo su compra en Italia puede tener un valor de 650 o 700€, si no vale mas, por tan solo 300€ y con su Factura.

Bueno, empezamos, el día 03-08-09 envío un E-Mail solicitando información para realizar la compra del iPhone 3Gs.

El día 04-08-09, recibo el siguiente E-Mail por parte del vendedor, Atencion al Texto:

Asunto: RE: eBay anuncios | Has recibido respuesta a tu anuncio [310702]

Fecha: 4 de agosto de 2009 19:28:04 GMT+02:00

Para: benidebian@gmail.com

Hola,

El precio para un iPhone es 300€. También tenemos una oferta promocional:

2 x Iphone 32gb GS = 500€

4 x Iphone 32gb GS = 800€

Todos los iPhones son nueva Version 3GS con GPS, 32GB, nuevos, originales de Apple, libres de operador (puedes utilizar calquier tarjeta sim), vienen con la factura de compra y con un ano garantia. Los iPhones son selladas en su caja original de fábrica, incluidos todos sus accesorios y manuales completos en espanol.

Un Saludo.

Manda “Guevos” (como dicen por hay). La cara que le hecha el “Gacho”, por que si no me creía la primera oferta, esta ya ni te cuento. Pero que “Redaños” tiene el Tío.

Quien en su sano juicio puede creerse que por nada menos que 800€ nos venden !!4 iPhones¡¡ 3GS con 32 gigas, Libre, Precintados, Legales y con Factura.

Como esto huele fatal empiezo a investigar un poco sobre el “Tipo” el cual se hace llamar Francisco Martín Díaz y vive en Valencia. Pues cuando empiezo a rastrear el E-Mail resulta que no esta mandado desde Valencia, si no desde un Pueblecito de Francia.

Aquí ya si tenia sospechas, que por la “Oferta Promocional” desde luego que no tenia ninguna duda de que se trataba de una Estafa, pues ya si que no me creo nada.

Bueno pues nuevamente mando un segundo 2º E-Mail con el siguiente contenido:

hola, me interesaría la oferta de 4×800€ para mi y para otro compañero de trabajo la de 2×500€, por favor contacta conmigo lo antes posible para acordar la forma de pago.

P.D: Me URGE por que es para la empresa, en un futuro compraremos mas.

Pues como es de esperar “Paquito” (como he Bautizado al Supuesto) me manda respuesta a mi correo con las siguientes instrucciones de Pago:

De: francisco84ns@hotmail.com

Asunto: RE: compra iphone

Fecha: 4 de agosto de 2009 23:46:32 GMT+02:00

Para: benidebian@gmail.com

El envío y manipulación tarda 2-3 dias y esta incluido en el precio de venta.
Ofrezco una política del regreso de 3 días con un reembolso total si no eres satisfecho.
El pago se hace a empresa de transporte de una manera segura por Western Union, no contrareembolso.
Si usted quiere comprarlo, enviame un email y te informo con tos los datos para cerar el negocio.
saludos

Valla, con que con Western Union y como no, no se acepta el contrareembolso.

Si encima os fijáis bien, tal como explique en la anterior entrada tanto el primer como este segundo Correo contiene unas faltas de ortografía que para llamarte Francisco Martín Díaz y vivir en Valencia no se comprenden.

NOTA: Esta es una de las señales por la que deberíais de empezar ha sospechar de un vendedor. Las Faltas son ocasionadas por una mala traducción del Texto, repito como anteriormente:

Sin tener ningún tipo de prejuicio contra ninguna persona de cualquier nacionalidad estos Delitos suelen ser cometidos por Extranjeros normalmente residentes fuera de España.

El caso, este “Señor” a cometido muchos de los Fallos que hacen detectar una estafa por Internet, los Fallos en que debemos fijarnos son los siguientes:

1. El Bajísimo Precio por el que se vende el Producto. De verdad Nadie da Duros a Pesetas. Por muy Bonito que te lo “Anuncien”.
2. La dirección de Correos del sujeto siempre corresponde a hotmail, yahoo y en muy contadas ocasiones gmail.
3. Intentan que realicemos el Pago mediante trasferencia por Western Union y en algunos casos por Bancos en Canadá o Estados Unidos.
4. No da ningún Teléfono de Contacto y en caso de darlo comprobaras que no se corresponde con la población indicada o no contestara nadie.

Fijaos siempre en los Pasos indicados y llegareis ha detectar enseguida el Fraude.

Pues nada que el tio me mando los Datos para el Pago:

De: francisco84ns@hotmail.com

Asunto: RE: compra iphone

Fecha: 5 de agosto de 2009 11:27:43 GMT+02:00

Para: benidebian@gmail.com

Hola Amigo,sigues interesado en comprar el cosa, mandame los datos y realizo la proceso.

P.D: Amigo mejor realizar trato entre nosotros, si lo realizamos en Paypal cobraran

comision y el precio es subido. Mejor entre nosotrs conocidos.


Empresa de transporte se llama: MKB EXPRESS y trabaja seguro como escrow.
Esta compañía tiene un servicio seguro para los compradores y los vendedores. Éste son los pasos :
Paso uno:
Voy a dejar el paquete a empresa de transporte con todos los papeles.
Paso dos:
Empresa de trasporte examinará el paquete y comienza la entrega a su direction.
Paso tres:
Empresa de transporte te envia la factura, el numero del paquete, los datos de paquete y los datos de pago en su correo electronico.
Paso quatro:
Luego usted debes enviar el dinero por el nombre de un agnete MATY COURIER EXPRESS por Western Union. (www.westernunion.com)
Paso cinco:
Usted debe confirmar el pago con el codico de la transferencia a empresa de trabsporte, no a me.
Una ves que el pago esta confirmado a empresa de trasporte reciva el paquete a su domicilio.
Paso seis:
Cuando usted reciva el paquete, tienes que firmar para poder cobrar el dinero desde empresa de transporte.
Si te parece todo bien dejame su direction donde tengo que enviar el paquete, su nombre completo, un numero de contacto,y su DNI.
Gracias!

Muy “Profesional” el Pollo, je..je..je., “Que Jodio”. Como detalle, realizo una Búsqueda en Google del primer nombre de la empresa (MKB EXPRESS) y como podéis ver no arroja ningún resultado como empresa de mensajería.

Y casualmente al realizar la Busqueda de la segunda empresa (MATY COURIER EXPRESS) en uno de los resultados se comenta una estafa conseguida.

Y como, comenta que si “Pasamos” de Paypal no pagaremos la comisión. Hay que joderse, si encima va ha ser que es buena “Persona” y mira por nuestra economía. Precisamente es lo que hace, mirar por nuestra economía, !!Nos la quiere Quitar¡¡

Y como no, le mande yo un e-mail diciendo de todo menos guapo, pero se lo mande todo “Colocadito” con sus puntos y comas para que se creyera que era texto normal y lo tradujese para leer los insultos.

Ahora paso a explicaros como podemos rastrear un Correo recibido del que sospechemos. Lo explicare sin muchos Tecnicismos para que cualquiera pueda realizar este seguimiento en caso de necesitarlo:

Lo Primero, recibimos un Correo como el del ejemplo por Gmail o cualquier correoWeb (gmail,hotmail,yahoo..). Nos vamos a la pagina web del proveedor de nuestro correo (en el ejemplo gmail) buscamos y seleccionamos el correo sospechoso, pulsamos y lo Abrimos en otra ventana del navegador.

En el caso de Gmail (en los demás supongo que también) existe una opción que dice: “Mostrar Original”

Imagen 5

Pulsando en la Flecha, nos mostrara el siguiente Menú, elegimos Mostrar original.

Veremos lo siguiente:

Imagen 7

Seleccionamos todo el Texto y lo Copiamos. Ahora con el Texto Copiado nos dirigimos a la siguiente Web, http://www.ip-adress.com.

En la primera imagen vereis una pequeña ventana con vuestro numero de IP, pues nos desplazamos hasta la parte baja de la ventana y fijate en esta imagen:

Imagen 8

Pulsa en “who is Domain” y arriba del todo veras lo siguiente:

Imagen 10

Pues pulsa nuevamente en: “Email Trace” desplazate un poco hacia abajo y veras esta Ventanita:

Imagen 11

Ahora introduce el Texto que copiaste en el paso de Mostrar Original y pulsa en el Botón de : Trace Email Sender, enseguida se nos mostrara la siguiente información:

Imagen 13

Como puedes ver ya tenemos la Localización desde la cual se envío el E-Mail y como podemos comprobar en el ejemplo no se trata de Valencia ¿no?.

Vamos que si te tienen que dar “collejas” desde Valencia al lugar del envío me parece que el cuello se te iba a quedar como el hierro para subir los toldos.

Un Dato muy importante en caso de querer formular una denuncia es la Dirección IP, que es la numeración que sigue este Formato: 172.187.117.33,es como si fuese el D.N.I del equipo desde que se halla cometido un Delito y por la cual el Delincuente podrá ser Localizado.

Si lo que queréis es obtener información sobre el Servidor mediante el cual se conecta la persona que investigáis, fijaos al lado de la Bandera del país y veréis un enlace que dice “Whois” pulsar y desplazaros hasta que en el siguiente Texto localicéis la dirección y el teléfono del Proveedor de Internet, al que podeis llamar directamente y comunicando la IP del “Listo” podrán, si es que quieren tomar medidas.

Imagen 14

Fijaos en la segunda Linea, pone “Abuse” y un numero de Teléfono para reportar alguna incidencia. Se supone que llamando tomaran medidas contra el usuario, pero conociendo a las Compañías, yo no me atrevo a confirmar este dato.

NOTA: Para quien no sepa que es una Dirección Ip, deciros que no existe dos equipos conectados con una misma IP. La IP mostrada en este ejemplo es única de ese Equipo, bueno para los “Puristas” La Ip puede tener tener dos estados:

Dinámica o Fija. Mayormente casi todos nosotros tendremos en un Principio una Ip asignada por nuestro Proveedor de Internet DINAMICA, con lo cual cada cierto tiempo al volver a Desconectarse y Conectarnos esta Cambiara, pero eso no quiere decir que no se pueda Localizar al Delincuente. Por tanto si realizáis este ejemplo NO SALDRA NUNCA EL MISMO NUMERO DE IP en caso de ser distinto el Remitente del Correo.

Pero incluso siendo el Remitente de mi ejemplo si no se ha desconectado de Internet por un Tiempo si mostrara la misma Dirección IP.

Pues nada aquí tenéis una “Segunda Edición” del los consejos para comprar de manera segura por Internet y que mejor explicación que con un caso Real como este.

He mandado a la dirección de Ebay los datos de este vendedor para que investiguen y de ser posible que retiren el anuncio al ser un claro ejemplo de estafa.

Pues nada amig@s, que para mostrar este ejemplo ha sido necesario escribir esta “Tremeda Tochada de Texto”, pero creo que merece la pena leerlo y ponerse un poco mas al Día.

ACTUALIZACION 05-08-09: Hola mirando por internet encontré denuncias de las siguientes Direcciones de Correo de ESTAFADORES TOTALMENTE RECONOCIDOS, asi que si da la casualidad de que sus Mail coinciden con cualquier compra que vallas ha realizar, la ANULES INMEDIATAMENTE:

bb.phonesltd@hotmail.com
currentphone@hotmail.com
hitech.comms@hotmail.com
Wunmiplaza@hotmail.com

artbridge1226@gmail.com
justin68rivera@hotmail.com
cecilia.benita.diaz@hotmail.com
muchasmi@googlemail.com

luis.bernat@hotmail.com
alberto.kruz@mountaineers.com

mrkwnstn8@yahoo.es

mk4ps3@yahoo.es

ofertas_liquidacion@hotmail.com

jcba2.b@hotmail.com

articulos_venta@hotmail.com

UN SALUDO.

PUDIO.

Fte: http://www.iphone.com.es/2009/08/05/iphone-3gs-32gigas-libre-por-300-e/