Recientemente me puse a probar xajax para unas cosas que deseamos realizar en la empresa. Este es mi primera prueba. Lo primero que realice fue descargar de la pagina oficial de xajax la versión estándar. Luego en coloque dentro de una carpeta de pruebas la carpeta descomprimida de xajax. Ahora si algo de codigo. 1   xajax_prueba.php
2  
3  
4  
5  <?php
6  
7  
8  
9  
/*
10  
11    Funciones para el llamado desde la vista
12  
13  */
14  
15  

16  
17  
function myFunction($arg)
18  
19  {
20  
21  
 $newContent "Value of $arg: ".$arg;
22  
23  
 $objResponse = new xajaxResponse();
24  
25  
 $objResponse->assign("SomeElementId","innerHTML"$newContent);
26  
27  
 return $objResponse;
28  
29  }
30  
31  

32  
33  
function myFunction2()
34  
35  {
36  
37  
 $objResponse = new xajaxResponse();
38  
39  
 $objResponse->assign("SomeElementId","innerHTML""prueba");
40  
41  
 return $objResponse;
42  
43  }
44  
45  

46  
47  
48  
49  ?>
50  

51  Test2.php
52  
53  
54  
55  <?php
56  
57  
58  
59  
/*
60  
61  Recomendaciones:
62  
63  No dejar espacios en la parte inicial y final de las etiquetas <?php ? >
64  
65  En el llamado a la funcion ej. onclick=xajax_myFunction('Funciona'); no
66  
67  y no ej. onclick=myFunction('Funciona'); no
68  
69  */
70  
71  

72  
73  
//Incluimos la libreria del xajax
74  
75  
include "xajax/xajax_core/xajax.inc.php";
76  
77  

78  
79  
//Incluimos el archivo con las funciones a usar
80  
81  
include "xajax_prueba.php";
82  
83  

84  
85  
//Instanciamos un objeto ajax
86  
87  
$xajax = new xajax();
88  
89  

90  
91  
//Registrar el nombre de la funcion que deseamos usar
92  
93  //Se pueden registrar varias que tengan en el archivo que se incluyo previamente
94  
95  
$xajax->registerFunction("myFunction");
96  
97  

98  
99  
//Se maneja cualquiera request del xajax
100  
101  
$xajax->processRequest();
102  
103  

104  
105  
//Se escribe $xajax->printJavascript("xajax/"); en el head del html
106  
107  //para generar lo necesario del javascript
108  
109  

110  
111  
//En el div colocar el nombre del elemento al que le colocamos la respuesta del innerHTML
112  
113  //Call the function from a JavaScript event or function in your application
114  
115  

116  
117  ?>
118  

119  <head><?php  $xajax->printJavascript("xajax/"); ?></head>
120  
121  
122  
123  <div id="SomeElementId"></div>
124  
125  <button onclick="xajax_myFunction('Funciona');"></pre>
El archivo test2.php es el que llama al xajax_prueba.php .
Faltan ingenieros y programadores bilingües - El Colombiano


Una muy buena mirada al mundo de la programación en el país, solo una perqueña correción a la información suministrada: Steve Jobs nunca programó.
 
Zend es un Framework para el desarrollo en PHP, lo que permite el desarrollo de la estructura permítiendo el desarrollo de aplicaciones Modelo-Vista-Controlador. De una forma eficiente.

Lo primero que se debe hacer es instalar Zend Framework, se puede descargar de: http://www.zend.com/en/products/server/downloads hay varios blogs que muestran como hacer este proceso, algunos usan xampp o zend server. Los links los dejo al final.
  
Luego de tener instalado y probado el zend, pasamos a la creación de un web service y un consumidor. Para esto primero debemos entender un poco de que se trata esto. Los web services permiten de forma estandar la integración de aplicaciones web mediante el uso de SOAP, XML, WSDL, UDDI entre otros. Esto permite la interacción de diferentes tecnologias sin necesidad de que sean iguales. Los WSDL son usados como descripciones de los servicios de los servicios web, SOAP se ocupa de la transferencia de los datos y XML es usado para la descripcion de los datos.

Para este ejemplo no es necesario hacer toda la estructura MVC, solo tener la librerias necesarias.

Empecemos:

Vamos a utilizar el componente Zend_Soap que permite la creación de los web services. 
Nuestro ejemplo se divide en tres partes:
myws.php → Tiene la implementación de los métodos
ws.php → genera el wsdl
client.php → invoca el wsdl y llama a los métodos con parámetros válidos

Lo primero es crear en nuestro directorio htdocs una carpeta llamada testSOAP la cual contendrá nuestros tres archivos anteriores y nuestra carpeta Zend con las librerias.

Lo primero es crear los métodos del web services: myws.php

 
1    <?php
2       
3      
/**
4       * Web service methods
5       */
6      
class myws
7      
{  
8          
/**
9           * Get the add of two numbers
10           *
11           * @param   int  $one   The first number
12           * @param   int  $two   The second number
13           * @return  int
14           */
15          
public function sumita($one$two)
16          {
17              
$add $one+$two;
18       return 
$add;
19          }
20  
21          
/**
22           * Get the add of two numbers
23           *
24           * @param   int  $one   The first number
25           * @param   int  $two   The second number
26           * @return  string
27           */
28          
public function restica($one$two)
29          {
30              
$minus $one-$two;
31       return 
sprintf('%d - %d = %d',$one,$two,$minus);
32          }
33            
34          
/**
35           * Get the add of all the numbers of array
36           *
37           * @param   array  $numbers  Array with numbers
38           * @return  int
39           */
40          
public function vectoAdd($numbers)
41          {
42              foreach(
$numbers as $actual)
43       {     
44            
$val $val+$actual;               
45       }
46            return 
$val;
47          }               
48       }
49  
?>


 
Luego de tener listo esto, vamos a crear nuestro ws.php



1    <?php
2      require_once('myws.php');
3   
4      if (
$_SERVER['QUERY_STRING'] == 'wsdl'
5       {
6          require_once(
'/../Zend/Soap/AutoDiscover.php');
7   
8          
$auto = new Zend_Soap_AutoDiscover();
9          
$auto->setClass('myws');
10          
$auto->handle();
11      }
12      else 
13       {
14          require_once(
'Zend/Soap/Server.php');
15   
16          
$wsdl sprintf(
17              
'http://%s%s?wsdl',
18              
$_SERVER['HTTP_HOST'],
19              
$_SERVER['SCRIPT_NAME']
20          );
21   
22          
$soapServer = new Zend_Soap_Server($wsdl);
23          
$soapServer->setClass('myws');
24          
$soapServer->handle();
25      }     
26  
?>


Ahora por último creamos el cliente al que llamaremos en el navegador: localhost/testWS/client.php

1   <?php
2      
require_once('Zend/Soap/Client.php');
3   
4       
$url 'http://localhost/testSOAP/ws.php?wsdl';
5   
6              
$client = new Zend_Soap_Client($url);
7  
8       echo 
$client->sumita(3,27);
9       echo 
"<br />\n";
10       echo 
$client->restica(10,3);
11       echo 
"<br />\n";
12       
$vect = array(3,2,5,1,5);
13       echo 
$client->vectoAdd($vect);
14  
?>



Para comprobar que todo funcione de manera correcta, primeros lanzamos:
http://localhost/testSOAP/ws.php?wsdl el cual en el navagador nos debe mostrar el wsdl que tiene la descripción de los servicios del web services.





-->
Asi pues vemos como construir un web services y su consumidor.
Links:

 

1. Instalar Oracle, PHP o zend server
2. crear BD en Oracle y tener el tsnames.ora
3. script php:

error_reporting (E_ALL);
$tnsName     = '//tnsNamedelaBD';  
$username     = 'usuario';
$password     = 'contraseña';
$conector = oci_connect($username, $password, $tnsName);

if (!$conector) 
{
      $e = oci_error();
echo 'Falla la conexión:'.htmlentities($e['message']);
} else 
{
    echo 'Conecto OK!';
    oci_close($conector);
}
?>
Con los compañeros de la empresa nos pusimos en la tarea de crear nuestras calabazas para adornar nuestros respectivos lugares de trabajo para el Halloween 2012. 

El resultado :




Estas son los nuevos formatos de las monedas de 500, 200, 100 y 50 pesos que circulan en el mercado colombiano  y el  retorno de la momeda de 1000 pesos que había desaparecido debido a su facilidad para su falsificación.
Invitación: CALL FOR PAPERS

COLCOM 2013 - IEEE Colombian Conference on Communications and Computer
Mayo 22 al 24 de 2013, Medellín, Colombia
Página del evento: http://ieee-colcom.org/


Apreciados integrantes IEEE Colombia, 

El presente es con el fin de invitarlos a enviar sus trabajos, artículos a la 6ta Conferencia Colombiana de Comunicaciones y Computación (COLCOM 2013 - IEEE Colombian Conference on Communications and Computer). COLCOM 2013 es la conferencia IEEE más importante en Colombia que busca mostrar los avances y desarrollos de la comunidad académica, científica e industrial en las diferentes áreas de las telecomunicaciones y la computación. En esta versión el tema principal son “TIC para el desarrollo”, las Tecnologías de la Información y la Comunicación – TIC – son consideradas el motor impulsor del desarrollo de una región o país, permitiendo disminuir la brecha digital. Para lograr esto se hace necesario ampliar la cobertura de las redes de transporte y acceso y proveer servicios y aplicaciones que permitan acercar la tecnología cada vez más a la sociedad. Motivamos la presentación de trabajos técnicos, especialmente en temas relacionados con este tema.

Los trabajos serán revisados por un comité técnico internacional de acuerdo con el procedimiento estándar de IEEE. Los trabajos aceptados serán presentados en sesiones orales y serán publicados en las memorias de la conferencia (base de datos IEEExplore, incluyendo ISBN).
 

Temas de interés (Topics of interest)
 
Los temas de interés son los siguientes (aunque no limitados):

TIC sostenibles y eficiencia energética
Smart grids
Arquitecturas y modelos
Seguridad de información en Smart grids
Pruebas y experiencias de implementación
Integración de Smart grids a las redes actuales

Aplicaciones TIC para el desarrollo de las regiones
Atención de desastres
E-salud, E-commerce, E-health
Internet of things
Software de comunicación, servicios y aplicaciones multimedia
Técnicas de simulación
Modelamiento de redes

Próxima generación de redes e internet
Redes inalámbricas y cableadas
Comunicaciones y seguridad de la información
Switching and routing 
Redes de fibra óptica y de alta velocidad
Redes de acceso
Internet del futuro
Sistemas de comunicación y procesamiento de señales 
Diseños cross-layer
QoS 
 
Envío de trabajos
Los artículos deben ser originales y enviados en versión digital (formato PDF), usando el enlace respectivo en este sitio web. Los artículos deben tener el formato estándar de doble columna para conferencia de IEEE. Se permite un máximo de seis (6) páginas por artículo (en fuente de 10 puntos), incluyendo las ilustraciones y referencias. Si el artículo está escrito en español, el título y resumen (abstract) deben estar en inglés, para poder incluir el artículo en la base de datos IEEExplore.

Fechas importantes
Fecha límite para recepción de artículos: 29 de Marzo de 2013
Notificación de aceptación: 20 de Abril de 2013
Fecha límite de artículo definitivo: 27 de Abril de 2013

Hace un tiempo habia estado con ganas de conectar los robots y diferentes dispositivos que realizo a internet. Una de las opciones que mas me gusto fue la tarjeta ethernet para arduino que vende I+D Electronica.

Esta tarjeta cuenta con un chip Ethernet w5100 de Wiznet el cual provee IP para nuestro (cliente/servidor). Muy importante para tener encuenta es no utilizar los pines 10,11,12,13 porque estos son los que usa Arduino para comunicarse con la tarjeta Ethernet.

Inicialmente pude observar que la tarjeta trae 4 pines adicionales y que mi Arduino Duemilanove no los tiene. Pero estos pines no afectan para las pruebas que realice.

Lo primero que debemos hacer antes de conectar las dos placas, es revisar la tarjeta ethernet en la parte trasera, ya que ahi esta la dirección MAC. Luego si : arduino concetado al computador y la tarjeta al router.

Después debemos abrir el Arduino, vamos a Archivo->Ejemplos->Ethernet->DhcpAddressPrinter, este programa nos permite obtener la IP de la tarjeta. Quemamos el programa y abrimos el Monitor Serial. El mensaje que salio para mi caso es My IP address: 192.168.1.15

Ahora vamos a ver nuestro arduino como un servidor: Esto permitira obtener datos del arduino y mostrarlo en una pagina web cuando se invoque la ip dada anteriormente.
Vamos a Archivo->Ejemplos->Ethernet->WebServer y cambiamos el arreglo definido como mac y la dirección ip, por nuestros valores.

Luego quemamos el programa, e ingresamos a un navegador, escribimos la ip y debe aparecer algo así:

analog input 0 is 367
analog input 1 is 355
analog input 2 is 333
analog input 3 is 319
analog input 4 is 289
analog input 5 is 326

La próxima es prender un led enviando información en la url.




LLAMADO A PRESENTACIÓN DE ARTÍCULOS

IEEE CITSS 2012
IEEE COLOMBIAN INTELLIGENT TRANSPORTATION SYSTEMS SYMPOSIUM (CITSS)
Agosto 30, 2012
http://www.ieee.org.co/portal/ieee-citss.html

The 1st IEEE COLOMBIAN INTELLIGENT TRANSPORTATION SYSTEMS SYMPOSIUM (CITSS) will
be held in Bogotá, Colombia. The 1st IEEE CITSS will be held in Bogotá,
Colombia. The CITSS is a technical symposium that will allow the academic and
industrial community to show their advances in research and improvement of
applications for Intelligent Vehicles and Vehicle-Infrastructure Cooperation and
discuss recent developments and challenges in vehicular networking
technologies.

The organizing committee invites submissions of unpublished technical papers in
English or Spanish. Accepted papers will be published in the symposium
proceedings, and will be presented in oral or poster sessions.

The symposium program will include a broad range of topics, from physical layer
to emerging application technologies.


TOPICS:
The following is a non exhaustive list of the conference topics:

Active and Passive Safety Systems
Vehicular Power Networks
X-By Wire Technology
Vehicular Sensor
Vehicle Bus
Sensor Networks for transportation
Inter-Vehicular Network
Vehicle Hardware / Software System
Navigation and Localization Systems
Vehicular Measurement Technology and Testing
Vehicular Signal Processing
Vehicular Communications
Micro-electromechanical Systems
Embedded Operation System
Driver Assistance Driving Systems
Adaptive Cruise Control Systems
Pattern Recognition for Vehicles
Human Machine Interaction
Diagnostics on Line
Virtual / Digital System
Advanced Driver Assistance Systems
Automated Vehicles
Driver State and Intent Recognition
Eco-driving and Energy-Efficient Vehicles
Impact on Traffic Flows
Cooperative Vehicle-Infrastructure Systems
Collision Avoidance
Assistive Mobility Systems
Intelligent Ground, Air and Space Vehicles
Autonomous / Intelligent Robotic Vehicles
Electric and Hybrid Technologies
Traffic theory, modelling, simulation
Traffic and Communications Networks
Traffic Control Systems
Technologies for ITS User services: ATMS, ATIS, AVCS
Multi-modal ITS
Commercial Vehicle Operations
Pedestrian and Bicyclist Safety and Mobility systems
ITS for Special Needs
Security and privacy in vehicular networks
Protocols for vehicular networks
Architecture, algorithms and protocols for data dissemination in vehicular
networks
Physical layer and antenna technologies for vehicular networks
RF propagation models and radio resource management for vehicular networks
Experimental systems for vehicular networks
Parking Systems
Emission modelling and environmental impact assessment
Standardization and economical models and management for vehicular networks
Dependability of vehicular networks
Networking with other road users
Disaster Management and Evacuation Systems

IMPORTANT DATES
Paper submission: July 23, 2012

PAPER SUBMISSION
The Papers must be submitted in digital version (PDF) through the conference
website. Papers must be formatted in the standard IEEE double-column format for
conferences. Only six (6) pages are allowed for each paper (10-point font). The
illustrations and the references are included in the page count. To access the
full list of topics, submission guidelines, venue and travel information please
visit:

http://www.ieee.org.co/portal/ieee-citss.html
E-mail: citss@ieee.org.co
1. Usando el gestor de paquetes Synaptic buscarlo e instalarlo.
2. Al tratar de cargar el primer programa no me dejo.
3. Desistale el brltty (braille device) que en ocaciones presenta conflicto con el Arduino, de la siguiente maneta:
    sudo apt-get remove brltty
4. Si continua presentando problema, seguramente debe ser porque el sistema no le da permiso al usuario para que escriba en el puerto ttyUSB. Para cambiar los permisos hacerlo de la siguiente manera :
    sudo chmod 666 /dev/ttyACM0

Y listo.
Me permito compartirles esta información:


IEEE SIFAE & CE 2012
SIMPOSIO INTERNACIONAL EN FUENTES ALTERNATIVAS DE ENERGIA Y CALIDAD ENERGÉTICA
Octubre 25-26, 2012
HOTEL PUERTA DEL SOL, BARRANQUILLA, COLOMBIA
http://www.ieee-sifae.org

El tercer Simposio Internacional en Fuentes Alternativas de Energía y Calidad Energética (IEEE SIFAE & CE 2012) se llevará a cabo en el Hotel Puerta del Sol, en Barranquilla, Colombia. IEEE SIFAE & CE 2012 es una conferencia que busca promover el desarrollo y la difusión de nuevas tecnologías en el sector energético, la eficiencia energética, así como promover la estandarización y regulación del mercado energético. Abrirá además un espacio tanto para acercar la academia y la industria como para discutir acerca del impacto del sector energético en la sociedad.

El comité organizador invita a enviar sus artículos inéditos para consideración, escritos en inglés o español (título, resumen y palabras clave deben estar en inglés). Los artículos aceptados y presentados se publicarán tanto en las memorias de la conferencia como en IEEE Xplore® Digital Library. Se presentarán bien sea en sesiones presenciales o de posters.

AREAS TEMÁTICAS

La siguiente es una lista no exhaustiva de las áreas temáticas de  la conferencia:
Energía solar
Energía eólica
Energía maremotriz y de las corrientes marinas
Energía geotérmica
Cogeneración
Generación distribuida
Generación a partir de la biomasa
Pequeñas centrales hidroeléctricas
Calidad de la energía eléctrica
Uso racional y eficiente de la energía
Otras fuentes alternativas de energía
Normatividad y regulación de fuentes alternativas de energía
Análisis y diagnóstico de problemas de calidad de potencia y sus soluciones
Mediciones y desarrollo de dispositivos de medida.
Confiabilidad y continuidad del servicio
Dispositivos de iluminación eficiente
Interferencia y compatibilidad electromagnética
Redes inteligentes
Micro-redes
Gestión energética
Mercados Energéticos
Energía y medio ambiente


FECHAS IMPORTANTES
Fecha límite para recepción de artículos: Julio 8, 2012
Notificación de aceptación: Agosto 19, 2012
Recepción de artículos corregidos y fecha límite para registro de autores: Septiembre 16, 2012


ENVÍO DE ARTÍCULOS

Los artículos deben ser enviados en versión digital (formato PDF), usando el enlace respectivo en el sitio web del evento www.ieee-sifae.org. Los artículos deben tener el formato estándar de doble columna para conferencia de IEEE. Se permite un máximo de seis (6) páginas por artículo (en fuente de 10 puntos), incluyendo las ilustraciones y referencias. Si el artículo está escrito en español, deben incluirse el título, palabras clave (key words) y resumen (abstract) en inglés, para poder incluir el artículo en la base de datos IEEE Xplore®.


Sponsors:

IEEE Colombia Section
IEEE Colombia Power & Energy Society Chapter
  • Los 3 días del condor (1975) (recomendada)
  • Comer rezar amar (2010) (recomendada)
  • Angeles y demonios (2009) (recomendada)
  • Las trillizas bellaville (2003) (recomendada)

Para que asistan:

"En la charla se busca introducir a las personas que no conocen o conocen muy poco de que se trata el desarrollo ágil. Se buscará hacer un contraste con las metodologías de desarrollo tradicional, mostrando uno de los principales problemas que existen con la ejecución de proyectos de desarrollo de Software en la actualidad en el mundo y en Colombia.

Se dará una introducción al desarrollo bajo el marco Scrum y se dará una explicación sobre las prácticas que caracterizan el desarrollo ágil, mostrando qué lo hace exitoso".

Fecha y hora: Miércoles 7 de marzo, 6:00 p.m.
Lugar: Auditorio del Sacatín, Universidad Autónoma de Manizales
Conferencista: Germán Mauricio Muñoz. Ingeniero de Sistemas egresado de la Universidad Autónoma de Manizales y Especialista en Construcción de Software de la Universidad de los Andes, en Bogotá y Certified Scrum Master (CSM). Trabaja hace más de tres años para OLX inc, exitoso Sitio Web de clasificados a nivel mundial con oficinas en Buenos Aires, Argentina, donde se ha desempeñado como desarrollador y arquitecto de software. Es miembro cofundador de la Comunidad Ágil de Colombia, comunidad cuyo objetivo es promover el Agilismo y sus prácticas en el país. Recientemente fundó la empresa Mapalé Software, empresa dedicada al desarrollo de software bajo la filosofía del agilismo y a la que dedica hoy la mayoría de su tiempo.

Imágen del robot seguidor de línea que presentamos en la UAM 2010 !!!