<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-644711193049766645</id><updated>2012-02-16T05:38:01.228-08:00</updated><title type='text'>onnu's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://onnu-disasterpiece.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/644711193049766645/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://onnu-disasterpiece.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>onnu</name><uri>http://www.blogger.com/profile/12833774847201705893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-644711193049766645.post-3598717812438153922</id><published>2009-06-18T22:00:00.000-07:00</published><updated>2009-06-18T23:52:40.745-07:00</updated><title type='text'>GLSL-Cg</title><content type='html'>&lt;span style="font-weight: bold;"&gt;GLSL-OpenGL Shading Language&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;GLSL es el acrónimo de OpenGL Shading Language, una tecnología parte del API estandar de OpenGL, que permite especificar segmentos de programas gráficos que serán ejecutados sobre el GPU. Su contrapartida en DirectX es HLSL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Vista al pipeline&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La siguiente figura es un diagrama simplificado de los estados del pipeline y de la información que viaja a trabajes de estos. Aunque es extremadamente simplificado, es suficiente para mostrar algunos conceptos importantes de la programación con shaders. Notese que este pipeline es una abstracción y no necesariamente concuerda con alguna implementación en particular.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_E0vFgiYIBD4/SjsgjsDl4wI/AAAAAAAAAC4/YlNbl6fQlfc/s1600-h/4.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 256px;" src="http://1.bp.blogspot.com/_E0vFgiYIBD4/SjsgjsDl4wI/AAAAAAAAAC4/YlNbl6fQlfc/s320/4.JPG" alt="" id="BLOGGER_PHOTO_ID_5348904779926332162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Tranformación de los vertices&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Podemos decir que un vertice es un conjunto de atributos como posición en el espacio, al igual que color, normal, coordinadas de la textura, entre otros. Las entradas para este estado son los atributos de los vertices individuales. Algunas de las operaciones realizadas por la funcionalidad modificada son:&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;Tranformación de la posicion de los vertices&lt;/li&gt;&lt;li&gt;Iluminación de los vertices&lt;/li&gt;&lt;li&gt;Generación y transformación de las coordenadas de la texturas&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Texturizado y coloreado de los fragmentos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Información interpolada de los fragmentos es la entrada de este estado. Un color ya ha sido definido en el estado anterior atravez de la interpolación, y aqui puede ser combinado con un texel (elemento de textura) por ejemplo. Coordinadas de la textura han sido tambien interpoladas en el estado anterior. El resultado final de este estado por cada uno de los fragmentos es un valor de color y de profundidad para cada uno de los fragmentos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;Operaciones en la rasterización&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_E0vFgiYIBD4/SjsqlxLsdII/AAAAAAAAADA/p6CmdCokd74/s1600-h/5.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 256px;" src="http://1.bp.blogspot.com/_E0vFgiYIBD4/SjsqlxLsdII/AAAAAAAAADA/p6CmdCokd74/s320/5.JPG" alt="" id="BLOGGER_PHOTO_ID_5348915810778510466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Ejemplos del uso de GLSL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_E0vFgiYIBD4/SjsrTE2IG_I/AAAAAAAAADI/kDjxhU15Q6g/s1600-h/6.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_E0vFgiYIBD4/SjsrTE2IG_I/AAAAAAAAADI/kDjxhU15Q6g/s320/6.JPG" alt="" id="BLOGGER_PHOTO_ID_5348916589150870514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cg - C for graphics&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Que es Cg?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Cg es un lenguaje de programación que nos permite controlar la forma, apariencia y  movimientos de los objetos dibujados, usando hardware de gráficas programables. Combina el control de estos atributos por medio de la programación, con la increíble velocidad y capacidades de los procesadores gráficos de hoy en día.&lt;br /&gt;&lt;br /&gt;Cg probé a los programadores con una plataforma de  programación que es fácil de usar y permite la creación de manera rápida de efectos especiales y experiencias en tiempo real de calidad cinematográfica en múltiples plataformas.&lt;br /&gt;&lt;br /&gt;Cg remueve la necesidad de los programadores de programar directamente en el lenguaje ensamblador del hardware gráfico, y en su lugar lenguajes más fáciles como OpenGL, DirectX, etc. Este es compatible con HLSL para DirectX.&lt;br /&gt;&lt;br /&gt;Los programas en Cg operan en los vertices y en los fragmentos que son procesados cuando se renderiza una imagen. Cada vez que un vertice es renderizado o rasterizado genera un fragmento mientras se renderiza una escena en 3D, el programa en Cg se ejecuta.&lt;br /&gt;&lt;br /&gt;De ninguna forma Cg sustituye a los lenguajes de  proposito general. Cg es un lenguaje auxiliar diseñado especificamente para GPUs. Prograamas escritos para el CPU en lenguajes convencionales como C o C++ pueden utilizar el runtime de Cg para cargar programas en Cg para que se ejecuten. El runtime de Cg es un subconjunto de subrutinas usadas para cargar, compilar, manipular y configurar programas en Cg para ser ejecutados por el GPU. Las aplicaciones proveen programas Cgpara instruir al GPU en cómo llevar a cabo los efectos de  renderizado, que de otra manera serían imposibles en un CPU.&lt;br /&gt;&lt;br /&gt;Cg tiene un libreria de funciones, llamada la libreria estandar, que probe las operaciones requeridas para los graficos. Por ejemplo, la libreria incluye una función reflect para realizar reflección de vectores.&lt;br /&gt;&lt;br /&gt;No todo lo que se puede escribir en Cg puede ser compilado para ser ejecutado en un GPU dado. Cg incluye el concepto de "perfiles" del hardware, el cual  se especifica cuando se compila.  Cada perfil corresponde a  una combinación particular de arquitecturas de GPU y APIs gráficas. Por lo que el programa no solo tiene que estar bien para compilar, sino que tiene que cumplir las restricciones particulares del perfil escogido.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_E0vFgiYIBD4/Sjsz48D_1rI/AAAAAAAAADQ/qHZFNLf1Qu8/s1600-h/7.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 256px;" src="http://4.bp.blogspot.com/_E0vFgiYIBD4/Sjsz48D_1rI/AAAAAAAAADQ/qHZFNLf1Qu8/s320/7.JPG" alt="" id="BLOGGER_PHOTO_ID_5348926035721180850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Un poco de historia&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nvidia y Microsoft colaboraron para el desarrollo de Cg. Microsoft llama a su implementación High Level Shading Language, o HLSL.  HLSL y Cg son el mismo lenguaje pero reflejan los diferentes nombres que cada compania usa para identificar el lenguaje y la tecnologia en que estan basados. HLSL es parte de DirectX Graphics, un componente del framework multimedia de programacion 3D, por lo que se puede integrar con Direct3D o OpenGL.&lt;br /&gt;&lt;br /&gt;Cg trabaja en Windows, Linux, Mac OS X, consolas de videojuegos, o sistemas embebidos. Cg trabaja en la mayoria de los GPUs.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_E0vFgiYIBD4/Sjs1mH6yiDI/AAAAAAAAADY/NErEUkpCZ0E/s1600-h/8.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 256px;" src="http://4.bp.blogspot.com/_E0vFgiYIBD4/Sjs1mH6yiDI/AAAAAAAAADY/NErEUkpCZ0E/s320/8.JPG" alt="" id="BLOGGER_PHOTO_ID_5348927911509526578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/644711193049766645-3598717812438153922?l=onnu-disasterpiece.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onnu-disasterpiece.blogspot.com/feeds/3598717812438153922/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=644711193049766645&amp;postID=3598717812438153922' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/644711193049766645/posts/default/3598717812438153922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/644711193049766645/posts/default/3598717812438153922'/><link rel='alternate' type='text/html' href='http://onnu-disasterpiece.blogspot.com/2009/06/glsl-cg.html' title='GLSL-Cg'/><author><name>onnu</name><uri>http://www.blogger.com/profile/12833774847201705893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_E0vFgiYIBD4/SjsgjsDl4wI/AAAAAAAAAC4/YlNbl6fQlfc/s72-c/4.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-644711193049766645.post-6167165491388448187</id><published>2009-06-17T21:42:00.000-07:00</published><updated>2009-06-17T22:59:18.040-07:00</updated><title type='text'>Ecolitaster- Haciendo al E. Coli testear olores</title><content type='html'>Valencia iGem 2006&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Qué es la biología sintética?&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Primeros pasos en el MIT.&lt;/li&gt;&lt;li&gt;Enfocada a la manipulación de todas las moléculas y procesos involucrados en el metabolismo de las células.&lt;/li&gt;&lt;li&gt;Una nueva forma de ver a los organismos.&lt;/li&gt;&lt;li&gt;La idea del ADN como red genética en donde  el producto de un gen puede interactuar con otros genes para inhibir o activar la expresión de su producto no es nueva.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;¿Podemos usar esta forma de ver las redes genéticas para hacer sistemas biológicos con funciones específicas?&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La respuesta positiva a esta pregunta recae en la capacidad actual de la ingenieria genética para construir cualquier secuencia imaginable de ADN.&lt;/li&gt;&lt;li&gt;Básicamente, si podemos  teóricamente diseñar una red genética con una función específica podemos entonces construirla en el laboratorio. Después, podemos insertar esta secuencia de ADN en las células de un organismo y esperar de él un "comportamiento controlado".&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Electrónica como inspiración&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Los métodos de la bilogía sintética están inspirados en los métodos de la ingeniería eléctrica.&lt;/li&gt;&lt;li&gt;Los circuitos electrónicos están compuestos por pequeños componentes que juntos pueden formar un dispositivo con una función específica.&lt;/li&gt;&lt;li&gt;Lo que  es importante es que, un ingeniero  no necesita conocer todo el proceso complicado que hay dentro de esos pequeños componentes, si no solo como estos componentes responden a una señal de entrada para generar una señal de salida de las mismas características físicas.&lt;/li&gt;&lt;li&gt;Están estandarizados.&lt;/li&gt;&lt;li&gt;La biología sintética toma estas ideas y las adapta para diseñar nuevos circuitos genéticos con predeterminadas funcionalidades.&lt;/li&gt;&lt;li&gt;Estas secuencias de ADN con funcionalidad especifica dentro de la celula son llamadas Bio-ladrillos.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;La situación no es tan fácil como parece&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;En circuitos electrónicos las señales de E/S es el Voltaje, y lo es así para todas las señales de E/S en todos los componentes del circuito. La señal de E/S de los componentes biológicos no es el mismo en todos.&lt;/li&gt;&lt;li&gt;Cualquier secuencia del código genético es leído por la polimerasa así que la polimerasa tiene que ser la señal universal de E/S.&lt;/li&gt;&lt;li&gt;Por lo que se creo la unidad llamada PoPS o polimerasa por segundo.&lt;/li&gt;&lt;li&gt;Contexto celular en el cual nuestro circuito biológico trabaja, dentro de la célula hay muchas otras moléculas que pueden interactuar con la secuencia genética que insertamos, por esta razón se tienen que trabajar con Bio-ladrillos que no interactúen con el medio&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;La idea&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_E0vFgiYIBD4/SjnP0L7ebsI/AAAAAAAAACg/DIYlf60k_uc/s1600-h/1.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 256px;" src="http://2.bp.blogspot.com/_E0vFgiYIBD4/SjnP0L7ebsI/AAAAAAAAACg/DIYlf60k_uc/s320/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5348534527941570242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;Bio-circuito&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_E0vFgiYIBD4/SjnQe306fcI/AAAAAAAAACo/Yp5wk1uHdn8/s1600-h/2.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 216px;" src="http://1.bp.blogspot.com/_E0vFgiYIBD4/SjnQe306fcI/AAAAAAAAACo/Yp5wk1uHdn8/s320/2.JPG" alt="" id="BLOGGER_PHOTO_ID_5348535261279714754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mecanismo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Este sensor es un PBP mutado que contiene  una molecula de vanilina y desempeña una accion como un inicio de sesion.&lt;/li&gt;&lt;li&gt;Este movimiento es propagado al dominio cinetico resultando una autofosforilacion del domino EnvZ y transferencia de fosfato a OmpR&lt;/li&gt;&lt;li&gt;OmpR P regula el arbol OmpC&lt;/li&gt;&lt;li&gt;La concentracion de OmpR P que activa el promotor del  gen CRP que puede ser mas bajo que reprimir el gen cl. Por lo tanto, esto se realiza a concentraciones medianas de OmpR P, CRP y cI.&lt;/li&gt;&lt;li&gt;De este modo el promotor AND es activado y GFP se expresa en concentraciones intermedias de OmpR P.&lt;/li&gt;&lt;li&gt;Los colores de las celulas segun la concentracion de vanilina son:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;Rojo, altas concentraciones&lt;/li&gt;&lt;li&gt;Amarillo, concentraciones intermedias&lt;/li&gt;&lt;li&gt;Verde, bajas concentraciones&lt;/li&gt;&lt;li&gt;Incoloro, sin vanilina.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Lista de Partes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Un CDS correspondiente a una fusíon de proteinas entre una proteína de cubierta periplasmàtica o PBPacoplando vanilina y una transmembrana de histidina kinase.&lt;/li&gt;&lt;li&gt;Diseño computacional del dominio PBP. Hace correspondencia con un bio-ladrillo.&lt;/li&gt;&lt;li&gt;Un promotor con dos reguladores activadores usando ADN lógico.&lt;/li&gt;&lt;li&gt;Dos motores activados por OmpR P.&lt;/li&gt;&lt;li&gt;Promotor reprimido de OmpR P.&lt;/li&gt;&lt;li&gt;Cuatro CDS.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Funcion de trasnferencia&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_E0vFgiYIBD4/SjnXgZSR_nI/AAAAAAAAACw/aC38j7zEZXc/s1600-h/3.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 192px;" src="http://2.bp.blogspot.com/_E0vFgiYIBD4/SjnXgZSR_nI/AAAAAAAAACw/aC38j7zEZXc/s320/3.JPG" alt="" id="BLOGGER_PHOTO_ID_5348542984022523506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/644711193049766645-6167165491388448187?l=onnu-disasterpiece.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onnu-disasterpiece.blogspot.com/feeds/6167165491388448187/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=644711193049766645&amp;postID=6167165491388448187' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/644711193049766645/posts/default/6167165491388448187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/644711193049766645/posts/default/6167165491388448187'/><link rel='alternate' type='text/html' href='http://onnu-disasterpiece.blogspot.com/2009/06/ecolitaster-haciendo-al-e-coli-testear.html' title='Ecolitaster- Haciendo al E. Coli testear olores'/><author><name>onnu</name><uri>http://www.blogger.com/profile/12833774847201705893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_E0vFgiYIBD4/SjnP0L7ebsI/AAAAAAAAACg/DIYlf60k_uc/s72-c/1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
