lunes, 28 de mayo de 2012

Proyectemos el sistema hispano-latino INFORMÁTICO PCS.

Esta es la primer nota que publicamos en Internet, pero posiblemente hagamos un libro con esta idea. Me gustaría que permanezcan atentos a este trabajo, y si hay alguien que quiere unirse al proyecto, dejo mi mail. Trataré de mantener el criterio de resumir  y de resaltar en azul un eje de lectura rápida, y en rojo los títulos que resumen también el texto.
horacio.conserje@gmail.com

LA IDEA DE ESTE TRABAJO ES HACER UNA PC (PROYECTO PCS S=simple) QUE HAGA LO QUE EL USUARIO QUIERE.
-Es un proyecto para desarrollar usando herramientas existentes. Para que todos lo puedan entender.
-Todos los usuarios podrán ser activos en el proyecto
-Tal que el usuario o propietario pueda tener una idea clara de todo lo que hace SU máquina.
-Para quién lo prefiera podrá, usando PCS, seguir como hasta ahora más económicamente.
-Cualquier máquina podrá ponerse en condiciones de dualidad: será sencillo pasar de la situación actual a la nueva y viceversa.
-No es un proyecto empresarial sino gratuito, como muchas otras cosas que se hacen ahora en informática e Internet.
-El proyecto también será didáctico para que el que lo desee pueda ir aprendiendo estas tecnología.
-Más adelante seguiremos con la definición del proyecto PCS, y de a poco dando pautas para discutir con los especialistas.  

IDEAS GENERALES DEL TRABAJO. OBJETIVO

-Existe una gran tentación de proponer una PC más sencilla. Una PC en que el usuario pueda sentirse el verdadero propietario. Por lo que se ve, las PC de los hogares, las oficinas, los comercios... usan una proporción pequeña de su potencialidad en hard y soft. Haré, en principio para mi mismo, un análisis de un proyecto del que tengo varias ideas. No puede ser más que una base para invitar al debate. Estoy seguro que vale la pena hacerlo

-El nuevo sistema que me gustaría someter a exámen y debate lo voy a llamar PCS  = PC Simple (Monousuario). será útil para la gran mayoría de los usos que se dan a las PC. que son usadas por un solo usuario. Por supuesto, podrán usarlas muchos pero en tiempos diferentes. Las PC, ahora son económicas y no se justifican muchas de las técnicas diseñadas hace muchos años para aprovechar más sus circuitos. LA PCS TAMBIÉN SE VA A PODER IMPLEMENTARSE EN UNA PC ACTUAL, COMO SI FUERA UN SISTEMA OPERATIVO ALTERNATIVO. Y en cualquier PC podremos hacer los desarrollos.

-La PCS será aun más económica que las PC actuales pues simplifica mucho la CPU (Los periféricos serían los mismos). Serán intrinsecamente más rápidas y la programación será bastante más fácil y por lo tanto más económica. Muchos más usuarios comunes podrán programar. Sin embargo esto es preliminar hasta escuchar comentarios.  Para poder decidir no tengo dudas que es bueno que muchos conozcan bien esta propuesta, para abrir el debate y eventualmente formar un grupo de trabajo libre.

-Aun cuando me digan que actualmente el procesador esté usado al 0,1% de su potencialidad, en promedio, hay que discutir la propuesta. Aun cuando hoy no tiene tampoco sentido que una PC esté compartiendo la CPU entre dos o más programas al mismo tiempo. En la gran mayoría de las PC esta posibilidad no se usa debido a los costos actuales, aun en baja. Quiero decir que un procesador no va cambiando de proceso comandado por un reloj.

-Pero sí, la PCS admitirá que varios procesos del mismo usuario estén abiertos, uno activo y otros en espera. Por ejemplo será posible tener un procesador de texto abierto al mismo tiempo que un navegador de donde se toman notas. y se cambia de partal, que es un caso usual.

-Es realtivamente fácil hacer un SO con estos requisitos con una PC actual. Sin problemas se puede elegir el boot luego del BIOS, para los ensayos. Fundemos un equipo de trabajo ¿de habla hispana? para hacerlo. Aun con uno solo (yo, jajaja), ya comenzamos.

-Simplificaremos la idea del procesador (Pensaremos un procesador virtual). En lugar de tantas instrucciones de máquina complejas usaremos un set mínimo. discutiremos cual conviene que sea ese set mínimo de instrucciones. Lo importante que cualquiera de nosotros podrá programarlo con pocas convenciones.

-LA PCS SERÁ EL CENTRO DE COMUNICACIONES DEL HOGAR

-Creo que en el futuro la PC será el centro de comunicaciones del hogar, la oficina, … de todo sitio que reúna a hasta unas 7 o más personas comunicadas. Administrará el teléfono, la radio, la TV, los mensajes, el Fax,... Todo lo que sea información a esa unidad operativa. Puede ser un hogar, una oficina, una sección de una fábrica o un taller, …

-Veo un futuro que tiende a un mejor manejo de la información. Supongamos una familia de varias personas con tareas comunes e individuales. Tendría una PC central y una pequeña red con computadoras personales para otros miembros. Conectadas por cable o wifi y trabajando en las tareas propias. Hay mucho para imaginar, pero sólo el correr del tiempo nos dirá la realidad.

-Tal vez nos convenga tener un pequeño procesador permanente de 1 watt (El vigilante nocturno). Habría una batería de varios años de duración, autorrecargable que serviría para alimentarlo, en caso de corte de corriente. adermás podría alimentar a otros equipos críticos como el reloj.

-Es probable que podamos mantener a una PCS como eje de red pequeña. una red con unas pocas PCS (o PCs) conectadas. Estaría conectada a Internet y siempres atenta a la red. Sería el Centro de comunicaciones de una casa o de una oficina pequeña.

-La PCS-eje podría atender tareas en el descanso. Por ejemplo durante la noche en una oficina, en un negocio, o en un hogar. El procesador 1watt podría activar el sistema para seguir un programa. Posiblemente convenga bajar mails para los miembros de una familia o una oficina. o lo que fuera de acuerdo a una programación. Esta idea hay que desarrollarla mucho más y discutirla.

-Sabemos que la PC administrará la radio y TV a pedido. Se podrán bajar programas durante la noche. De esta manera se aprovechan mucho mejor las líneas, usándolas durante todo el día y los fines de semana. (ESTE TEMA LO VAMOS A DISCUTIR MUCHO MÁS)

jueves, 14 de octubre de 2010

viejas notas desde msn1 Procesadores

Memoria, procesadores y programas

La memoria digital, los datos y los programas.
.
Vimos, cuando hablamos del mundo digital, que los programas interpretan los datos que entran a la computadora y los transforman. Un ejemplo: Un byte admite 256 (=2 ** 8) configuraciones distintas comenzando desde 00000000 hasta 11111111. Si por norma le hago corresponder a cada letra y signo de un alfabeto una de esas configuraciones entonces a una frase se la representa por una sucesión de bytes representando letras y signos, incluidos los espacios. Un programa es el encargado de hacer la conversión (de frase a binario y viceversa) de acuerdo a una norma o tabla de conversión. Entonces una función muy importante de los programas es interpretar los datos. Pero es mucho más que eso. Por ejemplo, mediante un programa se puede cambiar o agregar palabras a la frase, y todo ese proceso lo realiza mientras la información está digitalizada. Entonces los programas interpretan las normas y pueden modificar la información en su estado digital.
.
La memoria RAM.
.
La memoria RAM de una PC común suele ser ahora de 128 o 256 mega bytes. Allí están los files que son sucesiones de ceros y unos que representan datos o programas. El programa es una sucesión de órdenes al procesador para que opere con esos datos. Hace operaciones lógicas y matemáticas, y muchas otras funciones, como cambiar de ubicación en la RAM de algunos bytes. Es claro que tiene que existir una correspondencia exacta entre los datos, y su ubicación en la memoria RAM para que el programa pueda referirse a ellos y es por eso que cada byte de la memoria tiene una dirección única asociada. Por ejemplo, si la RAM es de 128 M. tendrá 2 ** 27 bytes o direcciones diferentes, desde 0 hasta 2**27 -1. Se habla del mapa de memoria para referirse a la distinta funcionalidad de diversas áreas de memoria.
.
Los procesadores.
.
Todos los programas cuando están en memoria RAM son una sucesión muy larga de ceros y unos. De manera tal que si uno ve una memoria RAM, sólo ve ceros y unos y las personas no podemos distinguir si es programa o si es un dato. El procesador, por ejemplo un pentium u otro cualquiera es el que hace las operaciones correctas comandado por los programas. Al iniciar el funcionamiento de la PC existe un mecanismo electrónico para indicarle al procesador el primer programa para que controle la máquina. Cuando termine de realizar su función le pasa el control a otro programa y así sucesivamente hasta que se apague. Por algún error puede indicársele mal y el procesador trate de interpretar lo que son datos como si fuera programa y la máquina se “cuelga”. Otro error es que algún dato se meta dentro de un programa destruyéndolo. Si uno viera la RAM en una enorme pantalla, los ceros como puntos blancos y los unos como puntos negros, parecería un caos total, y sin embargo no es así. Es una armonía perfecta que se mantienen indefinidamente cambiando los valores de 0 y 1 pero siempre bajo control.
.

Los usuarios y los especialistas

.
Al usuario común sólo le interesan determinadas cosas como por ejemplo ver una foto en la pantalla, o poder mandar un mail. Para que eso sea factible fácilmente la computadora debe tener mecanismos sumamente complejos de hardware (la electrónica y electromecánica) y de software (la programación) funcionando a la perfección. Hay muchísima gente que ha trabajado en eso y han hecho buenos negocios pues luego se aplican a cientos de millones de computadoras. Es como todo. Pero es bueno que tengamos alguna idea de esa realidad para que las cosas no sean un misterio absoluto. Todo esto que digo tiene una doble finalidad: por un lado es una presentación del tema para todos los curioso, y por otro lado es una introducción de una manera de ver las cosas para luego discutir temas de especialistas, entre especialistas. De cualquier forma me gustaría que me muestren los errores o lo que no se entiende. conserje@hotmail.com Horacio.
07:50 a.m. | Agregar un comentario | Vínculo permanente | Agregar al blog | Informática e Internet
11 octubre

El mundo digital

Mi idea con esta nota es introducir a las personas con pocos conocimientos de computación en el tema incluyendo a Internet. Creo que les será útil a todos. Pero también esto sirve de introducción a los especialistas en el tema para aunar criterios y tener una visión panorámica del tema para luego analizar nuevos criterios generales, incluyendo Sistemas Operativos y lenguajes de programación. Solicito a quien lea esto que se ponga en contacto conmigo por sugerencias, comentarios, aclaraciones o cualquier otra cosa. Publicaré na serie de notas. conserje@hotmail.com Horacio.
.
Debido a que la tecnología computacional ha adoptado el sistema binario de escritura de información con unos y ceros tenemos que arreglarnos para escribir o representar absolutamente todo lo que queramos manejar valiéndonos de sucesiones de esos valores. Todo dato o información requiere una cantidad de bits para representarla. La mínima cantidad de información es un bit que se usa para objetos que admiten solo dos estados como las variables lógicas. Una sucesión de 8 bits puede ser la representación ve muchos objetos diferentes. Entonces una sucesión de una cantidad de N bits cobra sentido cuando existe una norma o protocolo que lo hace corresponder con algún objeto del mundo real.
.
La información:
.
Se usa el byte u octeto como la unidad con la que se mide la cantidad de información. En esta nueva tecnología es indispensable la precisión absoluta porque las máquinas no toleran los menores errores. Por ese motivo es necesario hacer convenciones, normas y protocolos para entender de que estamos hablando. Cuando se habla de 1 Mega debemos entender exactamente 2 ** 20. Donde ** significa elevado a. Es una suerte que 2** 10= 1024 ,casi mil, y que 2** 20= 1 Mega, poco mas de un millón. Y 2 ** 30 es un Giga aprox 10 ** 9. Por usar la base 2 resultó muy importante el uso de las potencias de 2. Los archivos o files consisten en una sucesión de Bytes, y la cantidad de los mismos se le suele decir “peso” y es el espacio que ocupan en memoria.
.
Un file puede ser un texto, una foto, un sonido, un cuadro sinóptico, una pieza musical, un dibujo o cualquier otra cosa. Y en todos los casos es una sucesión muy larga de ceros y unos, Sólo tienen sentido mediante códigos, normas y protocolos. Las computadoras construyen e interpretan a los files. Los humanos programamos las computadoras para que entiendan las letras y números leyéndolos de un teclado, y luego ellas nos escriben en un printer.
.
Veamos por ejemplo una pieza musical. Las ondas sonoras son captadas por un micrófono y convertidas en ondas eléctricas. Hay muchas maneras de convertir esas ondas eléctricas en información digital, con diferentes propiedades y calidad. Cada una de esas formas tiene una especificación, una norma que se usa cuando se la almacena digitalmente y luego cuando se a reproduce de digital hasta los parlantes. Entonces tenemos:
La info base, en este caso la música
Electrónica que toma la info analógica y la convierte en digital (Hard)
La info analógica es una mezcla de frecuencias y ampitudes
Una norma o protocolo o formato que especifica la conversión.

Hay muchas normas, cada una tiene su nombre.

Un programa (soft) que da el formato digital especificado por la norma.
Un almacenamiento para guardar la música digitalizada.
Otro soft que convierte en sentido contrario (de digital a analógica).
Un hard que complementa al soft y reproduce el sonido en parlantes.
.
¿Qué ventajas tenemos al digitalizar la información?
.
El proceso es similar cualquiera sea la información que digitalicemos. Uno se puede preguntar porqué damos tantas vueltas si antes podíamos hacer casi lo mismo dejando la información como estaba. Nosotros hacíamos todo el proceso y no pasábamos por lo digital. Para la música por ejemplo, usábamos un disco donde grabábamos el sonido y luego lo reproducíamos tal cual.
Bueno, la gran mayoría de las personas creo que comprende la gran ventaja de la tecnología moderna: 1) en la digitalización no se pierde información, o bien se puede controlar bien la precisión de acuerdo a los requerimientos. 2) la información se puede guardar con gran seguridad por tiempo prácticamente ilimitado, 3) en medio del proceso, cuando la información es digital, está bajo el dominio de la computadora y es allí donde podemos hacer casi magia con los datos, muchas veces crearlos desde la nada. El manejo computacional de los datos constituye la segunda gran revolución tecnológica de la humanidad
.
La norma, especificación, protocolo o formato.
.
Pero el baile recién comienza y ya se hacen maravillas. Con problemas claro, debido al extremadamente acelerado crecimiento de la nueva criatura. Así como hablamos del sonido también podemos hablar de digitalizar texto. Se hicieron infinidad de programas diferentes, y cada fabricante del programa con su propia norma. Veamos resumidamente el proceso:
Nosotros escribimos en el teclado ayudados por el mouse.
La pantalla nos muestra lo escrito y nos ayuda a correcciones y mejoras.
Se almacena en la PC y podemos guardarlo, corregirlo o imprimirlo.
Es genial, impresionante respecto a la escritura con una vieja máquina de escribir. El problema es la compatibilidad, porque un texto escrito con un programa no es entendido por otro programa. Eso dentro de una misma máquina. Pero además los diferentes fabricantes de procesadores como Intel y Motorola tienen procesadores distintos e incompatibles. Existen muchos procesadores diferentes, y muchas veces ni existe compatibilidad entre los modelos de un mismo fabricante. Lo anterior significa que un mismo texto puede tener muy diferentes representaciones digitales: Hay una cantidad muy grande de normas y por lo tanto incompatibilidad.
.
¿Tiene solución la incompatibilidad?
.
La incompatibilidad es posiblemente la mayor fuente de problemas, frustraciones y misterios de esta tecnología. Y tiene soluciones costosas.
La dificultad principal es la guerra de intereses de las empresas de hard y soft por ganar mercados. Pero los estándares que fijan las normas se van imponiendo de a poco. Mientras tanto pensemos lo siguiente: Un texto cambia de formato aún dentro de una misma máquina y un mismo programa que lo maneja. Este texto yo lo escribo y entra algo a la PC que va formando el file digital, a partir de allí se transforma para ir a la pantalla, también se transforma para guardarlo en el disco, y para imprimirlo en el printer, porque en todos los casos tiene que respetar las normas de cada dispositivo. Es importante notar que a pesar de todos los cambios de formato la información se mantiene fielmente.
.
La información es la misma independiente del formato y de las máquinas, de los procesadores, de los sistemas operativos. La sucesión de bits que contienen esa información pueden ser muy diferente y son los programas los que pasan de una a otra forma, programando las normas. Si la información del texto está contenida cualquiera sea el formato, siempre puede hacerse un programa que pase de un formato cualquiera a otro. Un ejemplo sencillo: el número 14 o cualquier otro puede expresarse en varios formatos cuya representación digital o binaria es muy diferente, pero sabiendo en cual está representado siempre un programa puede pasarlo a otra representación. Lo mismo sucede con un texto o con cualquier otra información, por ejemplo la música.
.
Pero el cambio de formato puede ser complicado.
.
Supongamos que haya 100 formatos de texto (hay muchos más). Para convertir los formatos necesitaríamos 100x100 = 10.000 programas diferentes, lo que implica un esfuerzo enorme de programación. Y costos enormes. Hay una coartada que consiste en definir un formato comodín y hacer una doble traducción. Entonces en lugar de 10.000 programas traductores necesitamos sólo 200. El comodín debe ser un formato o norma muy bien pensado. Este criterio que se aplica a muchos tipos de información es fundamental para mi proyecto.

HTML5, nuevo formato de páginas, objetos, propuesta



HTML5: http://www.w3.org/blog/ http://www.w3.org/QA/2003/03/web-kit español
HTML5 va saliendo de a poco. abarca HTLM4 + XHTLM + DOM (Document Objet Model)
-En unos años se especificará de tal modo que todos los navegadores deberán ser compatibles.
-Es modular y algunos módulos ya están firmes e implementados por los navegadores.
-Mejora etiquetas, pero lo importante es que sale fuera del texto HTML, para incorporar tecnologías.
-Se dara estructura de cuerpo: nuevas etiquetas para animaciones, audio, video,...
-CANVAS: es una facilidad paracida a flash icluye enimaciones en el API,...
-Permitirá crear bases de datos en la PC del cliente, todo con su API!!!!!
-Web workers: Aplicaciones que se ejecutan localmente y off line del navegador!!!!
-Geolocalización de webs!!!!
-prioriza APIs y CSS!!
Una Opinión Preliminar Mía:
-Luego de leer algo de la futura HTML5, resalto sus características notables como
1)La posibilidad de dejar DB en la pc DEL CLIENTE pero destaco que esto deberá ser muy interactivo con el usuario.
2)La posibilidad de dejar soft en ejecución en el usuario mientras se desconecta del servidor.
Pero me parece que hay una forma más racional de armar las páginas:
-Una página es un gran rectángulo, compuesto de muchos rectangulos interiores y que puede tener otros interiores: O sea un árbol de rectángulos.
-Los rectángulos son objetos de diferente naturaleza: Textos, fotos, gráficos, videos, controles de sonido, gráficos animados,... etc. Se requiere estudiar esto con amplitud.
-En principo sería sencillo armar una página dados los objetos rectangulares. Una página se armaría acomodando en ella los rectángulos El navegador contaría con los recursos para desplegar los rectángulos que vienen como files separados. Cada uno ya viene con su punto de carga en pantalla. El usuario podría manipular los rectángulos. De esta forma se evita el HTML pues los rectángulos ya vienen confeccionados en todas sus partes. La programación script, también viene indicada en pantalla por una pequeña referencia,...
*
-Deseo hacer una consulta:
-Una página es un rectángulo que contiene otros rectángulos.
-Una pantalla rectangular es siempre una página o parte de ella.
-O bien una pantalla puede contener una o varias páginas independientes.
-Toda las pantallas o páginas pueden descomponerse en varios rectángulos distintos.
-(En pocos casos podrán superponerse (fondos))
-Cada rectángulo puede ser considerado un objeto (un texto, una foto, una imágen, un video,..
-Es conveniente precisar las definiciones de clases y objetos para entendernos.?
-Cada objeto puede estar compuesto de otros objetos.
-O sea que existiría una estructura de árbol de objetos (o rectángulos) dentro de un objeto o rectángulo o pantalla.
OBJETOS:
-Existen clases de objetos: Clase texto, clase video, clase imagen, etc que requieren descripoción.....
-La clase texto, por ejemplo, puede derivar en infinidad de representaciones binarias.
-Lo mismo que la clase imágen o cualquier otra, que no sirven para crear objetos.
-Cada representación es una subclase que genera objetos, que debe definirse en forma completa para instanciarla.
-Por ejemplo “texto plano” es una subclase de la clase texto que sirve para crear objetos.
-O “imagen vectorial sistema X” es una subclase de “imagen” con la que se pueden crear objetos.
-Casi todos los objetos tiene una representación gráfica. Lo tiene el texto, o una imagen, pero no el sonido.
-Sin embargo nos conviene indicar la presencia de cada objeto existente en una página (como un sonido o un programa) con algo que se vea en pantalla.
-En todos los casos de objetos podemos mostrar un gráfico que lo represente para poder dar más detalles de él con clics.
-Un programa es un objeto representado por texto (Simbólico) en cualquier lenguaje de programación, Interpretado por otro llamado “compilador”, que lo pasa a binario para un dado procesador.
-”Software” es una clase de alto grado de generalidad y no sirve para instanciar. Solo se describe su funcionalidad.
-Entonces, un programa también es un objeto (cuando está en binario en algún tipo de memoria computacional)
-Una subclase es entonces una clase que puede ser instanciada o sea que permite crear objetos. Las subclases dan normas de instanciación: Como crear un objeto de esa subclase.
-La clase “tabla” dice, en general, la definición de la misma. Puede haber distintas subclases tabla, y cada tipo limita el concepto de tabla. Permite crear un objeto tabla.
-Entonces tenemos Clases de descripción y definición, no instanciables. Y tenemos clases instanciables, específicas, que permiten crear objetos
-O sea que puede haber muchas subclases “tabla” (tabla sql, tabla oracle, ... muchas). Cada una requiere una definición, valores de atributos y propiedades (parámetros, ..) y métodos (rutinas, programas,...)
-Conviene hacer una teoría completa de objetos para que quede oficial de WC3
PÁGINAS
-Una página es un árbol de rectángulos u objetos. (Para hacer cerrar la definición, los fondos derían rectángulos que contienen otros rectángulos siempre enteros)
-Esto vale tanto para aplicaciones de escritorio o de Internet.
-Entonces para armar una página es cuestión de ubicar objetos que uno tenga definido cada uno como un file. Los ubica y listo. Cada objeto o rectángulo se tiene en forma independiente, ya sea una musica u otro sonido, un texto, un programa, un video, una imágen o lo que sea.
-Cada objeto es un encapsulamiento de bits construido de acuerdo a la norma de la subclase instanciada. Ademas de los datos propios del objeto debe contener otros datos que permitan al navegador, ubicarlos en la página, como:
-De que subclase procede, para poder mostrarlo en pantalla. la ubicación. Depende del objeto.
-El navegador (¿o la pc del cliente?) debe contener todos los programas que permiten abrir los objetos y mostrarlos.
.Me parece que de esta forma todo es mucho más racional y no se requiere HTML. Quisiera discutir esto.
.El perfil de las novedades de HTML5 entran dentro de esta estructura. Veamos:
&-El sistema multiligual es fácil de implementar. Será una gran ventaja que se implemente orgánicamente desde la W3C
&-

sábado, 17 de abril de 2010

Objetos binarios, números enteros, tipos de objetos.

COMPUTACIÓN E INFORMÁTICA GENERAL PARA NO INICIADOS Y PARA INICIADOS.
.
UNAS PALABRAS: En cada clase, cada uno verá si le vale la pena leerla, pasar a la siguiente o darle una leidita liviana. Lo que es seguro es que a todos les vendrá bien este enfoque global y unificado de la computación. No pienso que las lecciones no tendrán omisiones o errores. Aunque ahora arranco con orden (1, la 2, la 3....) pero es seguro que iré agregando algunas clases entremedio cuando vea que hay que ampliar algo.

Lección 1 Vectores, objetos, normas.
,
1-RESUMEN: En esta Clase 1 veremos los vectores de bits que son los elementos con los que trabajan las compus. Diremos cuando se usan sus nombres alternativos como objetos, mensajes, files, archivos, datos, programas y la definición o primera idea de los mismos. El que sepa esto bien puede saltearlo, (pero mejor dele una leidita).
.
2-UN VECTOR ES UNA SUCESIÓN DE NÚMEROS, por ejemplo 3,6,334,27,103 es un vector entero de 5 elementos. el primero un 3, el último o quinto un 103. El vector 0,1,1,1,0,1,0,1,1,1,0,0,1,0,0,1 es un vector binario o de bits (ceros y unos, de 16 elementos). (También se trata de un tipo de objeto particular, lo veremos con detalle). Los vectores u objetos deben tener un significado para ser útiles. Por eso requieren una explicación o Norma. Dentro de la compu, o del procesador y los distintos tipos de memoria, se usan solamente vectores binarios: sus elementos son bits. En computación cada elemento puede ser a su vez, otro vector u objeto.
.
3-NÚMERO NATURAL: es uno de los tantos significados que puede darse a ese vector binario de 16 bits del punto 2. Otro ejemplo: Supongamos que el vector binario 10011111 de 8 bits o elementos es un número. Un significado que podemos darle es: el uno de la derecha 1, el que le sigue, 2, el que sigue 4 y así como la numeración binaria. si sumamos nos da 1+2+4+8+16+0+0+128=159 es el significado de ese número (sin signo) dado en binario. Esta se llama numeración binaria, o sea de base 2, y con lo que te dije podés descubrir la clave de cualquier base de numeración. Trabajá.
.
4-NUMERACIÓN BINARIA. El punto anterior, el 3. salió medio sin que lo llamen, así que si te confunde dejalo para otra oportunidad. Por otro lado en Internet está inundado de explicaciones de todo. Cuando el programador crea un objeto "número natural" debe saber si le conviene usar la clase de 8 bits o la clase de 16, o de 32 bits. (por el entero máximo que se podrá representar con esa cantidad de bists) Una vez que ocupa un espacio en memoria, eso ya es considerado un objeto.
.
5-VECTORES BINARIOS u OBJETOS es la misma cosa pero cuando hablamos de objetos estamos queriendo decir que residen en un sistema de computación y que tienen un significado. Es como decir la palabra “cosa” a algo porque no sabemos el nombre, o queremos abreviar. Objeto es cualquier cosa con sentido que habita dentro de un sistema informático y que consta de una cantidad de bits bien definida..
.
6-UN MENSAJE SE TRNASMITE EN BITS Y ES TAMBIÉN UN OBJETO, cuando va de un lugar a otro. También se lo puede denominar file, o archivo cuando suele contener muchos bits y un nombre que lo identifica: por ejemplo “estecurso.doc”. “estecurso” es el nombre particular que le da el usuario y .doc, a modo de apellido, indica como deben interpretarse los bits que están adentro. Un gráfico o una foto provienen de un objeto que estaba en la memoria. también existen objetos que sale como música cuando lo escucho de mi MP4. Dos objetos con diferente función pueden tener el mismo nombre y apellido (igual que dos personas) pero deben estar dentro de distinta carpeta, que son las cajas separadas donde su guardan los objetos (en el disco rígido). El apellido de la gente indica su familia. En un objeto, su apellido, .doc por ejemplo, indica una clase o tipo de objeto. Un .doc es un objeto (mientras reside en la compu) generado por el programa word.
.
7-RESUMEN DE TERMINACIÓN DE lección 1: Creo que ahora tenés una idea clara de que son los números binarios y los vectores numéricos. Sabés que un objeto es algo que está en la memoria en forma de vector de bits (ceros y unos). Sabés que en la memoria puede haber muchos objetos de la misma clase con distinto nombre e igual apellido. Si querés armarte un poco de lío buscá en google cosas como numeración binaria, bits, objetos. O mejor esperá a estar más fuerte. De a poco daremos más vueltas en torno a los mismos conceptos.


Leccion 1 Aclaraciones
Esta lección es para ampliar un poco los conceptos de la lección 1. Recordá que uno no asimila los conceptos por el simple hecho de haberlos entendido. Es importante leerlos desde diferentes autores, y resolver problemas si es posible. También hacerse esquemas para uno, tratar de sintetizar, Aprender toma tiempo, pero SIEMPRE deja su fruto AÚN EN EL CASO DE QUE NO TE SIRVA PARA TU VIDA PRÁCTICA. Leer varias veces espaciadamente esto no es malo. Si encontrás diferencias con otros textos, eso es natural, no te hagas problemas. Lo mío tendrá una coherencia general, ya lo iremos viendo. Porque esto no es una ciencia terminada, está en formación!!.
.
Lección 1.2-Sistemas de numeración. Objetos. Definiciones básicas para computación:
.
10-NÚMERO ENTERO DECIMAL: todos sabemos que es: Un conjunto ordenado de dígitos del 0 al 9. Ejemplos: 123 , 231 , 6785307863 , etc. Se dice que es ordenado porque dos conjuntos que tienen los mismos dígitos pero en distinto orden son distintos. Por ejemplo el 123 es distinto del 321.

.
11-ACLARACIONES: El sistema decimal consta de esos 10 signos (lo adoptamos los humanos de casualidad por tener 10 dedos en las manos!!!). Podían haber sido 8 o 2. En computación deben usarse 2 (el 0 y el 1), pero es todo lo mismo. Tratá de repetir la norma de formación de los números decimales, primero con 5 signos, (los signos del 0 al 4) y luego usando solamente el 0 y el 1. El concepto de número no cambia. Se dice que es ordenado porque el orden es significativo. Por ejemplo es diferente 123 que 231.
.
12-COMO ESCRIBIR ENTEROS DECIMALES muy grandes: Sabemos que 10x10x10 = 1000 y eso se puede escribir como 10**3 (potencia tercera de 10) que quiere decir un uno seguido de 3 ceros (o mil). Si escribimos 10 ** 9 es el 10 multiplicado 9 veces por si mismo (potencia 9 de 10, o mil millones=1.000.000.000). ¿que significa entonces 10**15 ? A esto se le llama notación exponencial y es simplemente una forma de escribir números grandes para no escribir tantos ceros. Se usa mucho.
.
13-NÚMERO ENTERO BINARIO: Todo igual que la definición anterior, pero ahora en sistema binario, o sea empleando solamente el 0 y el 1. Cada número puede expresarse en una u otra forma, indicando la misma cantidad. Veamos la equivlencia: 0 = 0, 1= 1, 2 = 10, 3 = 11, 4 = 100, 5=101, 6=110, 7=111, 8=1000, ... 16=10000, ... 32=100000, etcétera.
.
14-LOS BINARIOS EN FORMA EXPONENCIAL: Con más razón porque ahora los números se hacen mucho más largos!!! (unas 3 veces más largos) Todos hemos visto que en computación se usan mucho los números 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, etc simplemente porque son las potencias de 2. Así 2**10=1024, 2**20=1.011.576 (=1024x1024, poco más de un millón), 2**30 es poco más de mil millones.
.
15-LOS KILOS, MEGAS, GIGAS Y TERAS: No confundirse. Todos sabemos que 1 kilómetro equivale a 1000 metros y 1 kilogramo a 1000 gramos. ¿Porque entonces un kilobyte equivales a 1024 bytes? simplemente porqué, al usarse en informática el sistema binario, 2**10 = 1024 entonces puede hacerse la siguiente tabla:
1 Kilobyte = 2**10 = 1024 bytes casi= a 1000 = 10**3
1 Megabyte = 2**20 = 1.011.578 bytes casi= 1.000.000 = 10**6
1 Gigabyte = 2**30 casi igual a 10**9
1 Terabyte = 2**40 casi igual a 10**12
No confundirnos ni asustarnos, son números muy grandes, pero ya existen discos rígidos de un Tera (los comunes tienen 80 o 200 Gigas) (un Tera es un millón de millones de bytes !!!!!) (Parece un milagro que se trasladen todos sin equivocarse en ninguno!!!!!!!)
.
16-OBJETO: Se representa exactamente igual que un número binario, con la particularidad de que la cantidad de sus dígitos puede ser de millones o mucho más. Puede estar compuesto de muchos otros objetos como números, palabras, instrucciones y otros objetos. Como está ordenado, tiene desde un primer bit y un último bit. Un programa de computación puede leer cualquiera de los bits que le pidamos. Por supuesto, un objeto tiene un significado. Así puede ser un texto, un archivo, una fotografía, una pieza musical, un programa de computación, o cualquier cosa con las que trabaja una computadora. Para que eso sea cierto hace falta una norma, una especificación.
.
17-¿QUÉ ES UN BIT?. ES EL MENSAJE MÍNIMO. Y es el objeto mínimo. Cuando uno espera un mensaje no espera cualquier cosa. Si quiero saber si llueve en Bariloche, basta que me digan si o no. Pero en computación todo mensaje debe tener una norma previa. En este caso la norma puede ser: si va un 0 quiere decir que no, si va un 1 quiere decir que si. Ese es el mensaje mínimo, un bit de información. Si quiero transmitir una letra ya se requieren más bits (también con una norma de transformación). La norma se requiere siempre en computación dado que las compus solo se entienden con ceros y unos.
.
18-AMPLIACIÓN DEL CONCEPTO: En programación POOH (Programación Orientada a Objetos, modo H), los números y letras o palabras también los tratamos como objetos porque obedecen a la definición de objeto. El objeto elemental es el bit, algo más complejos lo son los números y letras. Todos son los ladrillos que construyen a los objetos más complejos, como por ejemplo un texto. O sea que todo objeto está constituido por objetos más pequeños, hasta llegar a bit que es indivisible.
.
19-NOMBRES DE LOS OBJETOS: imaginemos a un objeto como una ristra muy larga de chorizos. Cada uno puede ser colorado o blanco, equivalente a cero o uno. Se pueden agrupar de a 8 o de a 16 o 32 o 64 para facilitar la manipulación. Los nombres alternativos son: vector de bits, pues es un sucesión de bits; mensaje, pues todo objeto circula de un lado a otro, y hasta se puede enviar por internet; file o archivo, generalmente cuando se almacenan en disco o se envían por internet; datos, porque siempre pueden servir de datos para algún programa. Y posiblemente se haya otras denominaciones.

horacio
Etiquetas: vectores numeración objetos


entrada de Horacio Aldo Cingolani @ 10:27

martes, 16 de febrero de 2010

Lo nuestro es importante, FILOSOFÍA INFORMÁTICA, Nuevo paradigma.

PARA SER LIBRES DEBEMOS TRABAJAR POR ELLO.
Luego de mucho pensar en la informática, en como funciona el soft y el hard, en el significado de la programación y los Sistemas Operativos (SO), en Internet y todo lo que implica, llegué a la conclusión de que podemos liberarnos de los SO, y mucho software inútil. La PC está recargada de misterio impuesto por los que dominan la industria y la tecnología. Nos creemos dueños del equipo que hemos pagado totalmente, y sin embargo sólo nos dejan usarlo. Y no siempre. Soy un usuario electrónico que ha hecho equipos con microprocesadores, y me interesa la generalidad, digamos, la filosofía de la informática. En 1965 comencé con programación de una PDP5 que había en mi laboratorio. Me quedaba hasta altas horas tratando de descubrir los secretos de esa magia que ya me había atrapado. Me gustaría discutir con quien guste, en que consiste la propuesta de recuperación de NUESTRA PC, que significa desprendernos del SO. Es algo muy extenso que creo, merece la pena formar un grupo de estudio y trabajo.
Propongo un recreo para los que viven de esta tecnología.
Si hubiera alguno de este grupo interesado podemos conectarnos mediante el blog:
www.infocompuideas.blogspot.com
Les pido que pongan comentarios y el que quiere lo pongo de autor de entradas.
Mi mail: conserje@hotmail.com

Es difícil presentar una estructura orgánica de estas ideas, pido que me tengan paciencia y discutan. De a pocos iremos estructurando la propuesta y el conocimiento











argentino.com.ar estamos en
Argentino.com.ar



jueves, 11 de febrero de 2010

Nuevo Paradigma OO, POO

-Procesador Virtual.
-Me gusta mucho la idea de definir un procesador virtual con el que se puedan desarrollar rutinas fácilmente.
-Como hay muchas forma de pensarlo. Elegiremos una sencilla.
-RAM: 4Giga, ::: direccionable con 4 By que representamos así: FF*FF*FF*FF
-Al procesador trabaja muy asociado a la memoria y lo pensaremos como construible.
-Vamos a imaginar dos grandes zonas en la memoria: Métodos y Datos.
-Y la tabla de datos y métodos. Su address está anotado siempre en 00*00*00*00.
-Tanto los métodos (rutinas) o datos, o estructura de datos son considerados objetos, tienen nombre y número de órden.
-También tienen una ubicación en memoria XX*XX*XX*XX, una descripción, y una longitud en BYTES.
-Los métodos generalmente están asociados con ciertos Datos (objetos). Cada objeto puede tener muchos métodos asociados.

-Instrucciones del Procesador Virtual.:
-Una instrucción es un objeto que tiene pocos bytes y es una orden para el procesador para hacer una operación elemental.
-Haremos un procesador tratando de que tenga un mínimo de instrucciones tal que se pueda programar completo.
-Las instrucciones casi siempre operan con la memoria, p.e., una suma entre dos números. (o resta, o multiplicación, o div.)
-Destinamos un byte para el código de operación, lo que significa que podremos tener hasta 256 (FF+1) instrucciones distintas.
-Todos los números se componen de 4 Bytes, 3 para el la mantisa (parte significativa) y uno para el exponente de 2.
-Tanto el exponente como la mantisa tienen un bit de signo. Si el exponente es 0 el número es entero.
-De lo dicho sale fácilmente el rango y las cifras exactas de este esquema de números.
-La ampliación de los rangos como la precisión requerirá software.
-La instrucción. a=b+c tiene por lo tanto una longitud de 13 bytes y significa poner en la memoria a el resultado de sumar b y c.
-Un byte lo ocupa el código que significa suma, y a, b, c, son números de 4 bytes c/u.
-El programador usará nombres (como a, b, c) para los números, y eso se traduce por addresses en el ensamblado.

-POO primero vemos un poco de terminología del paradigma POO.
-Vamos a imaginar dos grandes zonas en la memoria: Métodos y Datos.
-Y la tabla de datos y métodos. Su address está anotado siempre en 00*00*00*00.
-Tanto los métodos (rutinas) o datos, o estructura de datos son considerados objetos, tienen nombre y número de órden.
-También tienen una ubicación en memoria XX*XX*XX*XX, una descripción, y una longitud en BYTES.
-Los métodos generalmente están asociados con ciertos Datos (objetos). Cada objeto puede tener muchos métodos asociados.
-Los números y los caracteres son "objetos simples", se los llama Propiedades o Atributos.
-También se llama así a otros objetos compuestos. Los objetos son datos con sentido.
-Llamamos "métodos de base" a los que no llaman a otros métodos.
-Los métodos requieren datos. Los simples y pocos, se ponen al inicio de la rutina. Si son muchos se ubican en área de objetos
-Si los datos simples son muchos, con ellos se define una estructura y pasa a ser un objeto ubicado en su area.
-Los métodos también definen o producen objetos. si son pocos y símples se ubican en la zona inicial de la rutina.
-Si un método produce un objeto complejo o estructura de datos, los ubica en el área correspondiente, y lo anota en la tabla.
-Un objeto complejo, p.e. un gráfico, puede ser elaborado por un usuario usando varios métodos. Otro ejemplo: un texto.

-POO ahora pasa a ser un paradigma más general de enfoque informático
-Ya se ve que estamos generalizando y ahora el POO está significando más bien "Paradigma Orientado a Objeto".
-La idea es englobar todos los paradigmas de programación en uno sólo. Creo que se puede.
-Una "Estructura de datos" es también un objeto. Un objeto es un conjunto de datos o bytes que residen en memoria digital.
-Un objeto tiene una dirección en memoria y una longitud en bytes. Tiene un nombre y debe estar en la tabla de objetos.
-Los métodos pueden construir objetos y la longitud de estos va variando hasta estar finalizados.
-Cuando un objeto se está construyendo se suele decir que está en el proceso de edición.
-Todo objeto pertenece a una clase que es la descripción de la misma.
-Las clases pueden tener propiedades o atibutos. Pene existir la clase "número" y un atributo podría ser "entero positivo"
-Se le dice "Instancia de una clase" cuando se define un objeto en particular en la memoria digital con sus atributos.
-Puede existir la clase "Grafos" cuyas instancias son objetos gráficos definidos en la memoria y que luego pueden verse.
-Nuestro Paradigma POO, definirá clases públicas para que todos las puedan instanciar y usar sus métodos de clases.
-Las clases públicas y los métodos que los tratan serán universales.
-Las clases describen la información contenida en cada una, y también describen los formatos posibles para los objetos.
(hasta aquí lo puse en emagister SO y en Informática.)

lunes, 1 de febrero de 2010

La web 2.0 y la sindicación.

LA WEB 2.0 Y LOS AGREGADORES.
Hice este resumen, que admite muchas mejoras, a modo de entender un poco más. Por favor pongan comentarios para ampliar y corregir!!

La web 2.0 se refiere a aspectos en que el usuario no es sólo un espectador de la pantalla y uno que se informa de ella. Ahora pasa a ser un colaborador de las páginas, y su trabajo para producir información el mismo, se ve simplificado por nuevas facilidades. Veamos por ejemplo la nueva facilidad que se denomina RSS, siglas que se ven en muchos sitios actuales.

Un internauta puede tener varios sitios de los cuales le interesa verlos periódicamente para informarse de las novedades que se producen. Supongamos un docente que quiere estar al tanto de las novedades en sus areas de interés, entonces puede buscar los sitios que pueden producir esas novedades y disponer de ellas sin necesidad de recorrer todos los sitios. Puede resultar incómo recorrer los sitios de interés y ver que no hay cambios (y costoso en tiempo) Por eso los sitios modernos agregan un archivo de texto especial (llamado RSS) que está disponible al usuario en el sitio (con formato XML).
.
Para usar este mecanismo el usuario tiene mecanismos. Uno es instalar en su PC un programa "agregador" que trabaja con el explorador. Los exploradores ya hacen el trabajo del agregador: En ese agregador uno puede poner una lista de los archivos RSS de los sitios que le interesan (debe poner la dirección de esos RSS, para que el agregador los pueda llamar). Es automático en las versiones actuales de lo exploradores.
.
Otro uso es que esos RSS pueden servir también para la comunicación entre los sitios. Si un sitio quiere reunir información en base a otros sitios eso es posible con este procedimiento (sindicación). Tal vez este sea el uso más importante en el futuro.