juaninf - notas de psudoprogramador

Wednesday, December 09, 2009

I Encuentro Académico Empresarial de Ciencia de la Computación

El I Encuentro Académico Empresarial de Ciencia de la Computación es el primer evento de la región norte del país que presenta un foro para la difusión de las investigaciones en el área de computación y su aplicabilidad a los diferentes sectores productivos existentes, de esta manera, profesionales e investigadores nos presentarán los logros obtenidos en sus diferentes proyectos de investigación así como debatirán las diferentes posibilidades de su aplicación para el desarrollo tecnológico-empresarial del país.


La Sociedad de Estudiantes de Ciencia de la Computación hace presente la invitación a los estudiantes, académicos, profesionales y a toda la comunidad interesada para que participen en el I Encuentro Académico Empresarial de Ciencia de la Computación.

http://www.seccperu.org/eaec/

Thursday, November 26, 2009

Error en Proforma al exportar a PDF Vtiger 5.1

Holas, hoy día estuve customizando algunos archivos del vtiger, debido a que cuando exportaba una proforma a PDF(en Vtiger), a la cual le habia puesto IGV, esta salia bien por html, pero al momento de exportarla solo me salian dos dígitos al parecer a los amigos de vtiger se les escapo una línea de código, en el archivo include/InventoryPDF.php (vtiger 5.1), es maso menos por la línea 1090 donde aparece este error, ubiquen este texto $price_salestax = number_format($price_salestax,2,'.',','); y comentenlo.

Wednesday, November 18, 2009

Ley de Composición en Matemáticas

Estaba buscando en la internet que es una Ley de Composición u operación matemática, como definición, y que lo pudiera entender bien ...lei lo que dice wikipedia pero así mismo no entendía. Lo entendí cuando leí Ley Composición Interna y Externa de forma separada. La conclusión de esa lectura, "por separada", es la que les presento aquí y espero sea de tu utilidad.
Una Ley de Composición Interna, en conjuntos, podemos definirla como: $$G\times G \rightarrow G$$ Por ejemplo la operación suma en el conjunto de los números enteros. Como sabemos siempre que dos números enteros son sumados, el resultado será también, un número entero. Por ejemplo $$G\times G \rightarrow G \\ 3+2 \rightarrow 5$$ Una ley de composición externa en conjuntos podemos definirlo como: $$S\times V \rightarrow V,$$ es decir una operación que relaciona elementos de distintos conjuntos pero que llegan a uno de ellos. Por ejemplo sea S el conjunto de escalares(Reales o Complejos) y V un conjunto de vectores entonces tenemos $$S \times V \rightarrow V \\ 4*(4,-2) = (16,-8).$$ De estas dos definiciones entendí entonces lo que dice wikipedia respecto a lo que es una Ley de Composición.
 "En matemática una operación o ley de composición es la acción de un operador sobre una selección de elementos de un conjunto. El operador toma los elementos iniciales y los relaciona con otro elemento de un conjunto final que puede ser de la misma naturaleza o no; esto se conoce técnicamente como Ley de Composición."
Vamos por partes ...
 "En matemática una operación o ley de composición es la acción de un operador sobre una selección de elementos de un conjunto..." 

Como por ejemplo la operación división que conocemos, en el conjunto $$\mathbb{R} - \left\{{0}\right\},$$
"...el operador toma los elementos iniciales y los relaciona con otro elemento de un conjunto final que puede ser de la misma naturaleza o no." 

Así, en el caso de elementos de un conjunto de la misma naturaleza tenemos la Ley de Composición Interna, de otra forma tenemos la Ley de Composición Externa.
¿Te ha gustado esta entrada? Entonces échame un cable compartiéndola en Twitter. Gracias!

Thursday, November 05, 2009

Wednesday, October 21, 2009

Problema Vtiger minicompilador de fórmulas

Buenas... estaba probando el editor de formulas que trae el vtiger 5.1.0, y lamentablemente le encontre un error a su minicompilador, que solo soporta sentencias if, y operadores de comparacion(no operadores lógicos), pero esto se puede solucionar de alguna manera.

por ejemplo si tengo esto :

if cf_579>500000 then
cf_576="Cliente A"
else if (cf_579>200000 and cf_579<499999) then
cf_576="Cliente B"
else if (cf_579> 50000 and cf_579<199999) then
cf_576="Cliente C"
else if cf_576="Cliente D"
end

lo puedo escribir como:

if cf_579 >="500000" then
concat("cliente","A")
else
if cf_579 <"0" then
concat(" "," ")
else
if cf_579 <"0" then
concat("cliente"," ")
else
if cf_579>"50000" then
if cf_579 <="199999" then
concat("cliente","C")
else
concat("cliente","B")
end
else
if cf_579>"200000" then
if cf_579 <"499999" then
concat("cliente","B")
else
concat("cliente","D")
end
else
concat("cliente","D")
end
end
end
end
end

Monday, October 19, 2009

Crear una Segunda Instancia Mysql

Hace un tiempo tuve que crear una segunda instancia mysql en un servidor windows, a continuación les dejo los pasos que seguí para lograr este cometido:

1. Ubicar la carpeta donde se encuentran las bases de datos de mysql. Por ejemplo en windows la ruta de dicha carpeta es similar a la siguiente: C:\Program Files\mysql\data

2. En la ruta C:\Program Files\mysql\ crear una nueva carpeta con algún nombre por ejemplo  'dataVtiger'

Quedando asi:

C:\Program Files\mysql\dataVtiger

3. Dentro de la nueva carpeta creada, copiar la carpeta 'mysql' (carpeta de la base de datos de permisos) que, usando el ejemplo anterior, se encontraría en la ruta C:\Program Files\mysql\data.

4. Copiar el archivo my.ini del servidor de base de datos de desarrollo, en el mismo directorio donde se encuentra my.ini del servidor de base de datos de producción renombrándolo a myVtiger.ini.

5. Abrir archivo myVtiger.ini y editar (o crear si es que no existe) el parámetro datadir escribiendo la ruta donde se encuentra dataVtiger. Siguiendo el ejemplo anterior quedaría así:

[mysqld]

datadir = "C:\Program Files\mysql\dataVtiger/"


El parámetro datadir debe estar debajo de la etiqueta [mysqld] como se indica arriba.


Asimismo en el mismo archivo (myVtiger.ini) crear (si no existen) o cambiar los parámetros "port" por el puerto que no se este usando y que el administrador de las Bases de Datos te habilite.

Ejm:
Si el puerto del archivo de opciones de mysql (my.ini) es 3306, en el archivo myVtiger.ini cambiarlo a 3307. Los cambios quedarían asi:

[mysql]
#port=3306
port=3307

[mysqld]
#port=3306
port=3307

6. Grabar archivo myVtiger.ini

7. Desde la línea de comandos de Windows (Inicio->; Ejecutar cmd), ir hasta la carpeta que contenga mysqld-nt.exe (ejm. >cd C:\Program Files\mysql\bin) y ejecutar el siguiente comando (siguiendo la ruta ejemplo):

>mysqld-nt.exe --install mysqlVtiger --defaults-file="C:\Program Files\mysql\myVtiger.ini"

8. Luego, desde la línea de comandos de Windows, ejecutar el comando:

net start mysqlVtiger

¿Te ha gustado esta entrada? Entonces échame un cable compartiéndola en Twitter. Gracias!

Thursday, September 24, 2009

Problema Vtiger con Crear un Nuevo Usuario y Upload

Buenas, hoy tuve un problema, cuando instale vtiger en linux, cuando quise entrar por el Internet Explorer, no podia crear usuarios, me salia una ventana de SUCCESS, y despues nada, ademas tampoco podia subir archivos, por FTP, y los menús de la parte superior desaparecian antes que le pase el mouse...

Lo que hice fue descargar el archivo config.inc.php y con notepad++ lo convertir a formato "UTF-8 without BOM", y reescribí ese archivo.

saludos

Friday, September 04, 2009

Agregar un campo relacionado a un ListView en vtiger

Buenos días hoy les mostrare como agregar un campo de una tabla relacionado con otra a la hora de mostrar un ListView, para esto voy a tomar como ejemplo el modulo Potentials y el modulo Contactos, los cuales sabemos estan relacionados por una tabla intermedia que es cuenta, y sabemos adémas que cuenta es 1:n con contactos, ...

Bueno primero debemos ir a Potentials/ListView.php y ubicar esta línea $smarty->assign("LISTENTITY", $listview_entries);, que es aquí donde almacena la data que se mostrara, lo que debemos hacer es recorrer la lista $listview_entries, antes de asignarla a LISTENTITY, agregando al final de cada registro un contacto, que lo jalaremos con $focus->get_Contacts(id), pero hay un problema aquí, ¿de donde obtenemos el id de potential?, pues tenemos que agregar en la tabla vtiger_cvcolumnlist, la siguiente linea en el view correspondiente vtiger_crmentity:crmid::Potentials_Id:I, y listo con eso ya tenemos el id, y luego vamos recorriendo la lista e insertando al final de cada registro, el campo de contacto que queremos:

aqui el code

foreach($listview_entries as $list) {
$lst = $focus->get_contacts($list[7]);
$lstEntries = $lst["entries"];
foreach($lstEntries as $entrie) {
array_push($list, $entrie[0]);
$listview_entries1[$list[7]] = $list;
}
}


saludos...

Thursday, August 20, 2009

¿Cómo recuperar tu contraseña de XP?

A todos nos puede pasar que olvidemos la contraseña para entrar a nuestro ordenador. Hay formas de entrar en el ordenador sin tener que formatearlo y aquí descubriremos cómo hacerlo. Si no recuerdas tu contraseña de Windows XP y tampoco tienes una copia de seguridad, puedes hacer dos cosas:

Recuperación manual
Cuando instalamos Windows creamos la cuenta "Administrador". Si no pusimos contraseña a esta cuenta podemos entrar a nuestro sistema fácilmente como Administrador :
Cuando iniciamos sesión y nos piden la contraseña de la cuenta pulsamos: CONTROL + ALT + SUPR (dos veces).
En la nueva ventana escribe como nombre de usuario: Administrador y deja vacio el campo contraseña.
Si al instalar XP no pusimos contraseña para la cuenta "Administrador" podremos entrar en el sistema. Si no puedes entrar, inténtalo con la recuperación usando programas.

Tuesday, August 18, 2009

Error al intentar conectarse al mysql

Muchas veces cuando entramos por el cliente consola de mysql nos encontramos con este tipo de error

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

lo que debemos hacer en estos casos es ingresar con

>>mysql -h [host] -u [user] -p

nos pédira la clave la ponemos y listo

Sunday, August 09, 2009

Error + Eclipse Hibernate

Estuve realizando un proyecto con mi equipo Jomijushi en hibernate + Eclipse sucede que cuando corria mi void main me salia este error


Initial SessionFactory creation failed.org.hibernate.HibernateException: /hibernate.cfg.xml not found

despues de indagar y experimentar el problema por algunos foros, me di con la sorpresa de que solo tenia que agregar esta package folder "src/main/resources", y crear dentro el mismo paquete donde estan mis beans(dominio o domain), y agregar ahi los *.hbm.xml y felizmente todo corrio bien.

....

Wednesday, July 29, 2009

Convertir modelo de workbench a propel XML

Leyendo por alli encontre este plugin para workbench, eso lo ponen en tool->install plugin

http://sites.google.com/site/juaninf/PropelExport.grt.lua

Sunday, July 26, 2009

Setear un valor traido por Request en Symfony

Amigos lectores, el problema es el siguiente dada dos clases PersonaEmpresa y Cliente mapeadas con su respectivas tablas, siendo que la clave de PersonaEmpresa pasa a Cliente (lo cual, en este caso, querrá decir que Personaempresa es padre de Cliente y Cliente solo tiene una clave la de su padre), ahora el requerimiento es crear un objeto cliente

Bueno para hacer eso primero tengo que pasar por PersonaEmpresa y la clave que he creado para el objeto cliente de la siguiente manera

$this->redirect('cliente/new?fid_persona_empresa_id='.$fid_persona_empresa->getId());

ahora para setearlo como id de Cliente en su respectivo formulario hago lo siguiente :

 class FidClienteForm extends BaseFidClienteForm
{
    public function configure()
   {
    //obtengo el request del contexto
    $request = sfContext::getInstance()->getRequest();
    // y lo seteo
    $this->getObject()->setPrimaryKey($request->getParameter('fid_persona_empresa_id'));
   }
 }

Espero les haya servido.

Friday, June 12, 2009

Primer Evento en Speech Recognition Algoritmos y Aplicaciones




El 27 de Junio del 2009 se realizará la I Evento en Speech Recognition, una multiconferencia llevada a cabo en la Escuela de Posgrado de la Universidad Nacional de Trujillo, Perú. El evento presentará investigaciones realizadas en esta área y la necesidad de mostrar cuál es su importancia e influencia sobre nuestra sociedad actual.La Sociedad de Estudiantes de Ciencia de la Computación hace presente esta invitación a todos los universitarios, profesionales, y comunidad

Tuesday, June 02, 2009

Pronto NARUTO Recargado

Pronto Naruto Reload con Goku

Sunday, May 31, 2009

A70DAF536070D3A1 .gpg

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)

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
AjW0thRhUAG4P7cHdjZNqQ==
=dcaq
-----END PGP PUBLIC KEY BLOCK----

Wednesday, May 27, 2009

Fatal error: Class 'QuestionForm' not found in sfAdminGenerator.class.php on line 722

Buenas noches, estoy leyendo el tutorial de askeet de la documentacion de symfony, sucede que me quede en el hour 2, de las 24, ya me falta poco =),... ja surgieron algunos problemas con la version para la cual esta pensado el tutorial(1.1) y sobre la que tengo yo instalado(1.2) .
Especificamente el problema se produce cuando se intenta crear un modulo de esta forma 'symfony propel-generate-crud frontend question Question', el error que obtengo es esto Fatal error: Class 'QuestionForm' not found in sfAdminGenerator.class.php on line
722, ahora bien para solucionar esto
debemos hacer lo siguiente : 1. Ejecutar este comando
'symfony propel:build-forms' en tu directorio askeet por su puesto
2. Ejecutar estos comandos
'symfony propel:generate-crud frontend question Question',
'symfony propel:generate-crud frontend answer Answer',
'symfony propel:generate-crud frontend user User',
'symfony propel:generate-crud frontend interest Interest',
'symfony propel:generate-crud frontend relevancy Relevancy'
3. symfony cache:clear --app=frontend
4. Ir a lib/model/Question.php and ay agregar esta funcion

public function __toString()
{

return $this->getTitle();
}
y tambien en lib/model/User.php agregar

public function __toString()

{
return $this->getFirstName();
} por ultimo
5. Ahora si hacer 'symfony propel-generate-crud frontend question Question'limpiar cache con paso 3 y listo
on

Saturday, May 16, 2009

Instalando Pear en Cpanel

Buenas noches, hoy me pase todo el día queriendo instalar Pear en Cpanel los pasos son los siguientes:


  1. Descargar este archivo pear.php.net/go-pear,
  2. Guardar en tu pc local como: go-pear.php,
  3. Carga ese archivo a tu servidor y luego cargar en tu navegador  http://tudominio/go-pear.php. Luego simplemente seguir los pasos de instalación,
  4. Por último puedes instalar paquetes, por ejemplo yo instalé el propel pero he instalado antes otros paquetes como el creole, el phing que son dependencias del propel. Hay  muchas otras cosas.
Related Posts Plugin for WordPress, Blogger...