Consejos en la elección de palabras clave.

1 07 2009

Antes de empezar a posicionar nuestra web en los buscadores, hemos de pensar y agrupar qué palabras clave usaremos, así cuando un usuario necesite de nuestro producto/servicio pueda encontrarlo. Conseguimos así el retorno de inversión para nuestro negocio online. Esas palabras clave, o criterios, se analizan por cientos de factores y posibilidades distintas según el buscador y los continuos cambios que tienen lugar en sus algoritmos.

A partir del momento que pienses en contratar los servicios de una empresa de posicionamiento, entrarás a formar parte de sus procesos de análisis y estudio para la elección de las palabras clave de tu negocio. Son procesos muy complejos, y a veces difíciles de entender, los primeros meses irás a ciegas hasta que no empieces a darte cuenta de los resultados que estás obteniendo.

Es importante que te sepas cómo formar parte de esta selección de criterios. Por ello que entre mis investigaciones he agrupado doce normas o consejos que deberías tener bien presentes:

1. Evita palabras clave demasiado genéricas.
No es lo mismo si buscamos un “alquiler” a cuando buscas un “alquiler de barcos”.

2. No contratar más de 6 palabras clave por criterio.
Los criterios están formados por distintas palabras clave. Cuando un usuario necesita un producto empieza usando las primeras palabras que le vienen en mente y según los resultados, los combinará con otras palabras, hasta encontrar lo que esta buscando.

3. Evita usar palabras sin importancia para los buscadores.
Suponemos que queremos encontrar comentarios sobre la compra de una cámara digital pentax en España, podríamos intentarlo buscando “comentarios en la compra de cámara digital pentax en España”. En este ejemplo aparecen más de 6 palabras pero las palabras clave que realmente usa nuestro buscador serían: “comentarios compra cámara digital pentax España”.

4. Selecciona sabiamente.
Escoje esos criterios que realmente definan tu producto/servicio de forma concreta. No es lo mismo una “silla para bebés” que una “silla de oficina”.

5. Palabras clave en minúscula.
No debes tener en cuenta la utilización de mayúsculas o minúsculas, los buscadores no las diferencian. Te recomiendo uses minúsculas excepto en los nombres propios.

6. Evita las errores ortográficos.
¡Qué mala imagen tiene un eslogan cuando existen errores ortográficos! Deberías aplicar esta misma regla para tus contenidos.

7. Combina entre el singular/plural.
Algunos buscarán 1 producto, otros necesitarán encontrar varios productos. Piensa a qué público quiere dirigir tu posicionamiento: a un padre de familia o a una gran empresa multinacional.

8. Cada país tiene su argot y su expresión.
Podemos tener 2 palabras con el mismo significado pero que se escriben de forma distinta, por ejemplo, “perfecto” en España y “regio” en Argentina.

9. Evita el posicionamiento en un idioma cuando lo que ofreces esta en otro.
¿O somos todos multilingües? Por ejemplo, si estamos buscando comentarios en español para qué te sirven unos resultados en alemán. Pero si tienes intensiones de traducir tu web, te recomiendo que empieces cuanto antes o alguien podrá hacerlo en tu lugar.

10. Ordena con lógica tus palabras clave.
Es importante que el orden de las palabras siga una lógica coherente para quien las use. Por ejemplo, es aconsejable utilizar “hotel barato en la costa brava” ante “barato costa brava hotel”.

11. Usa nombres de productos y marcas que más beneficios te retornen.
Del mismo modo que en los escaparates de las tiendas vemos ofertas estrella a precios muy bajos. Tú mismo puedes hacer lo mismo con los productos que tienes amontonados en tu almacén: libros, cuadros, patentes… “Seguro que algún día recibes una llamada.”

12. Agrupa todas las palabras relevantes con la genérica y verás qué resultados.
Por ejemplo podemos tener como palabra genérica “alquilar piso” y palabras relevantes “frente universidad barcelona”. Estos dos criterios por separado tienen poco significado pero juntos seguro que pueden ayudar a más de uno a salir de un apuro. :) “alquilar piso frente universidad barcelona”.





10 formas de darle notoriedad a un sitio web.

1 07 2009

1) El número cinco es la clave.

Mantenga cada nivel de directorios en un máximo de cinco opciones. Si usted cree que tiene más de cinco enlaces, comience a agrupar los elementos y a hacer sub-directorios.

2) Manténgase a tres clics del usuario.
Toda la información que usted ofrezca a través de su sitio debe estar como mucho a tres clics de distancia del usuario (a menos que sea algo extremadamente aburrido y usted no quiera que este lo vea nunca).

3) No use más de 30K.
Como regla general, mantenga el tamaño de descarga de sus páginas en 30 K. Si usted tiene una página que tomará mucho tiempo en descargar, adviértale al usuario con una nota a través del hiperenlace. Además, evite colocar gráficos o aplicaciones grandes en su página de inicio, sino los s usuarios se pondrán impacientes y se irán para otro sitio.

4) Tome los colores con calma.
No use muchos colores diferentes en las imágenes de texto. Cada color adicional aumenta el tamaño del archivo. Comience con pocos y vaya aumentándolos hasta que esté satisfecho.

5) Pula su trabajo.
Utilice anti-alias para dar a sus imágenes un aspecto mejor acabado y mantenga el tamaño de los archivos reducido.

6) Mantenga la elegancia.
Evite imágenes de fondo rimbombantes o muy grandes, ya que las mismas hacen la página extremadamente difícil de leer. Si usted está realmente ansioso por usar un diseño específico, reduzca dramáticamente el contraste y aumente la luminosidad.

7) Divida y vencerá:
Forme una imagen completa a través de varias pequeñas. Varias imágenes pequeñas se cargarán mucho más rápido que una grande.

8) Sea discreto.
Si su página está en construcción, no se lo diga a nadie. El famoso letrero “En construcción” pierde la gracia bastante rápido. Si desea agregar algo nuevo, simplemente añádalo y no haga anuncios, y así evita poner a los visitantes de mala gana.

9) Muestre vistas en miniatura.
Si usted tiene imágenes catalogadas dentro de su página, use gráficos tipo miniatura o “thumbnails”, en lugar de descripciones de texto. Los mismos se cargan mucho más rápido y son mucho más explícitos que las palabras.

10) Juegue con las etiquetas de HTML.
Use etiquetas como Height, WIDTH y ALT en las imágenes, para cargar su página. Cuando usted usa etiquetas de imágenes la página y todo el texto se actualiza mucho más rápido.





Función en JavaScript que despliega un reloj siguiendo al cursor.

1 07 2009

<SCRIPT language=JavaScript>
dCol=’ffffff’;//date colour.
fCol=’00ffff’;//face colour.
sCol=’ffffff’;//seconds colour.
mCol=’ccff00′;//minutes colour.
hCol=’ffff00′;//hours colour.
ClockHeight=40;
ClockWidth=40;
ClockFromMouseY=0;
ClockFromMouseX=100;

//Alter nothing below! Alignments will be lost!

d=new Array(“DOMINGO”,”LUNES”,”MARTES”,”MIERCOLES”,”JUEVES”,”VIERNES”,”SABADO”);
m=new Array(“ENERO”,”FEBRERO”,”MARZO”,”ABRIL”,”MAYO”,”JUNIO”,”JULIO”,
“AGOSTO”,”SEPTIEMBRE”,”OCTUBRE”,”NOVIEMBRE”,”DICIEMBRE”);
date=new Date();
day=date.getDate();
year=date.getYear();
if (year < 2000) year=year+1900;
TodaysDate=” “+d[date.getDay()]+” “+day+” “+m[date.getMonth()]+” “+year;
D=TodaysDate.split(”);
H=’…’;
H=H.split(”);
M=’….’;
M=M.split(”);
S=’…..’;
S=S.split(”);
Face=’1 2 3 4 5 6 7 8 9 10 11 12′;
font=’Arial’;
size=1;
speed=0.6;
ns=(document.layers);
ie=(document.all);
Face=Face.split(‘ ‘);
n=Face.length;
a=size*10;
ymouse=0;
xmouse=0;
scrll=0;
props=”<font face=”+font+” size=”+size+” color=”+fCol+”><B>”;
props2=”<font face=”+font+” size=”+size+” color=”+dCol+”><B>”;
Split=360/n;
Dsplit=360/D.length;
HandHeight=ClockHeight/4.5
HandWidth=ClockWidth/4.5
HandY=-7;
HandX=-2.5;
scrll=0;
step=0.06;
currStep=0;
y=new Array();x=new Array();Y=new Array();X=new Array();
for (i=0; i < n; i++){y[i]=0;x[i]=0;Y[i]=0;X[i]=0}
Dy=new Array();Dx=new Array();DY=new Array();DX=new Array();
for (i=0; i < D.length; i++){Dy[i]=0;Dx[i]=0;DY[i]=0;DX[i]=0}
if (ns){
for (i=0; i < D.length; i++)
document.write(‘<layer name=”nsDate’+i+’” top=0 left=0 height=’+a+’ width=’+a+’><center>’+props2+D[i]+’</font></center></layer>’);
for (i=0; i < n; i++)
document.write(‘<layer name=”nsFace’+i+’” top=0 left=0 height=’+a+’ width=’+a+’><center>’+props+Face[i]+’</font></center></layer>’);
for (i=0; i < S.length; i++)
document.write(‘<layer name=nsSeconds’+i+’ top=0 left=0 width=15 height=15><font face=Arial size=3 color=’+sCol+’><center><b>’+S[i]+’</b></center></font></layer>’);
for (i=0; i < M.length; i++)
document.write(‘<layer name=nsMinutes’+i+’ top=0 left=0 width=15 height=15><font face=Arial size=3 color=’+mCol+’><center><b>’+M[i]+’</b></center></font></layer>’);
for (i=0; i < H.length; i++)
document.write(‘<layer name=nsHours’+i+’ top=0 left=0 width=15 height=15><font face=Arial size=3 color=’+hCol+’><center><b>’+H[i]+’</b></center></font></layer>’);
}
if (ie){
document.write(‘<div id=”Od” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < D.length; i++)
document.write(‘<div id=”ieDate” style=”position:absolute;top:0px;left:0;height:’+a+’;width:’+a+’;text-align:center”>’+props2+D[i]+’</B></font></div>’);
document.write(‘</div></div>’);
document.write(‘<div id=”Of” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < n; i++)
document.write(‘<div id=”ieFace” style=”position:absolute;top:0px;left:0;height:’+a+’;width:’+a+’;text-align:center”>’+props+Face[i]+’</B></font></div>’);
document.write(‘</div></div>’);
document.write(‘<div id=”Oh” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < H.length; i++)
document.write(‘<div id=”ieHours” style=”position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:’+hCol+’;text-align:center;font-weight:bold”>’+H[i]+’</div>’);
document.write(‘</div></div>’);
document.write(‘<div id=”Om” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < M.length; i++)
document.write(‘<div id=”ieMinutes” style=”position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:’+mCol+’;text-align:center;font-weight:bold”>’+M[i]+’</div>’);
document.write(‘</div></div>’)
document.write(‘<div id=”Os” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < S.length; i++)
document.write(‘<div id=”ieSeconds” style=”position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:’+sCol+’;text-align:center;font-weight:bold”>’+S[i]+’</div>’);
document.write(‘</div></div>’)
}
(ns)?window.captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt){
ymouse = (ns)?evnt.pageY+ClockFromMouseY-(window.pageYOffset):event.y+ClockFromMouseY;
xmouse = (ns)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;
}
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
function ClockAndAssign(){
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.575 + Math.PI * hr/6+Math.PI*parseInt(time.getMinutes())/360;
if (ie){
Od.style.top=window.document.body.scrollTop;
Of.style.top=window.document.body.scrollTop;
Oh.style.top=window.document.body.scrollTop;
Om.style.top=window.document.body.scrollTop;
Os.style.top=window.document.body.scrollTop;
}
for (i=0; i < n; i++){
var F=(ns)?document.layers['nsFace'+i]:ieFace[i].style;
F.top=y[i] + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll;
F.left=x[i] + ClockWidth*Math.cos(-1.0471 + i*Split*Math.PI/180);
}
for (i=0; i < H.length; i++){
var HL=(ns)?document.layers['nsHours'+i]:ieHours[i].style;
HL.top=y[i]+HandY+(i*HandHeight)*Math.sin(hrs)+scrll;
HL.left=x[i]+HandX+(i*HandWidth)*Math.cos(hrs);
}
for (i=0; i < M.length; i++){
var ML=(ns)?document.layers['nsMinutes'+i]:ieMinutes[i].style;
ML.top=y[i]+HandY+(i*HandHeight)*Math.sin(min)+scrll;
ML.left=x[i]+HandX+(i*HandWidth)*Math.cos(min);
}
for (i=0; i < S.length; i++){
var SL=(ns)?document.layers['nsSeconds'+i]:ieSeconds[i].style;
SL.top=y[i]+HandY+(i*HandHeight)*Math.sin(sec)+scrll;
SL.left=x[i]+HandX+(i*HandWidth)*Math.cos(sec);
}
for (i=0; i < D.length; i++){
var DL=(ns)?document.layers['nsDate'+i]:ieDate[i].style;
DL.top=Dy[i] + ClockHeight*1.5*Math.sin(currStep+i*Dsplit*Math.PI/180)+scrll;
DL.left=Dx[i] + ClockWidth*1.5*Math.cos(currStep+i*Dsplit*Math.PI/180);
}
currStep-=step;
}
function Delay(){
scrll=(ns)?window.pageYOffset:0;
Dy[0]=Math.round(DY[0]+=((ymouse)-DY[0])*speed);
Dx[0]=Math.round(DX[0]+=((xmouse)-DX[0])*speed);
for (i=1; i < D.length; i++){
Dy[i]=Math.round(DY[i]+=(Dy[i-1]-DY[i])*speed);
Dx[i]=Math.round(DX[i]+=(Dx[i-1]-DX[i])*speed);
}
y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
for (i=1; i < n; i++){
y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);
x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);
}
ClockAndAssign();
setTimeout(‘Delay()’,20);
}
if (ns||ie)window.onload=Delay;
</SCRIPT>





Proliferan redes antisociales en Internet.

5 06 2009

Surgieron en contrapartida a las redes sociales; es por eso que su fin es opuesto al de entablar lazos de amistad y compañerismo. Las redes antisociales pretenden hacer de la enemistad y odio, sentimientos perdurables a través de la Internet.

La red es amplia, tanto que no solo tiene espacio para los amigos, también para los más despreciados enemigos de los cibernautas.

Por consecuencia, surgieron las redes “antisociales”, como una alternativa a las tradicionales redes de amigos que publican fotos, ‘chatean’ y se organizan en grupos y colectivos con intereses comunes.

Entre las más conocidas redes de enemigos se encuentran Enemybook, Myfrienemies y I fucking hate you; cada una ofrece distintos sistemas para insultar, amenazar y denigrar a los seres “no queridos”.

Aunque la mayoría de estos sitios se encuentra en inglés y adaptados al sistema ideológico anglosajón, cada día se diversifica la población que se registra para conocer su contenido.

“Expresa y comparte tu odio”, es uno de los más explícitos preceptos sobre lo que se promueve en las redes antisociales, que como nunca, empiezan a cobrar auge entre los cibernautas de Estados Unidos, el Reino Unido, China e Italia.

Los registros de los sitios antisociales dan cuenta de un considerable crecimiento en la cantidad de usuarios que los visitaron durante los últimos tres meses.

Prueba de ello es que la población visitante Myfrienemies creció en un 19% en los últimos tres meses, Enemybook en un 18 por ciento, mientras que I fucking hate you (IFHY) se duplicó.

La población latinoamericana, especialmente de Argentina, también crece cada día y los usuarios de Guatemala empiezan a hacerse notar en estas redes.

MÁS QUE INSULTOS
Las experiencias en las redes antisociales varían de acuerdo a los términos de registro de cada usuario, de tal forma que unos sitios son más permisivos con los usuarios registrados al tiempo de emitir amenazas e improperios.

Myfrienemies es uno de los más liberales, ya que permite a cualquier persona enviar insultos desde el anonimato, de tal forma que los usuarios llegan a desconocer el origen de los mensajes que reciben.

“Es divertido porque puedes decirlo todo sin miedo a represalias, dice el usuario Death21 en uno de los blogs sobre las expresiones de odio y otros sentimientos.

Al igual que en la redes sociales, como Facebook, Badoo y Orkut, en las antisociales también se encuentran perfiles satíricos con fotografías e información de políticos, cantantes y celebridades.

Entre los perfiles con mayores índices de desprecio se encuentran el del ex presidente de Estados Unidos, George W. Bush, la conductora de televisión Oprah Winfrey y la cantante Paris Hilton.





Adictos a la tecnología.

26 05 2009

Una adicción es un comportamiento repetitivo que repercute o afecta la vida o las relaciones sociales de una persona y que, a pesar de ello, no deja de hacerlo. Antes se decía que los adictos a internet, al correo electrónico, a los chats o a los videojuegos eran individuos solitarios que no tenían otra cosa que hacer sino matar su tiempo detrás de la computadora. “Ahora los niños están en contacto con esta tecnología prácticamente desde que nacen. Los padres la usan incluso en lugar de una niñera, para entretenerlos, y así por ejemplo, el domingo, en vez de salir al parque a pasar tiempo con los pequeños, los padres duermen hasta tarde después de sentar a sus hijos frente a la máquina o el televisor. Los llevan con aparatos en el carro, en el avión…”, dice Omar Mejía, psicólogo clínico, cuyo departamento de tratamiento de adicciones es parte de la red hospitalaria Baptist Health, en el sur de Florida.

Quizá los más afectados son los adolescentes, sobre todo porque, como explica el especialista, los que llegan a desarrollar relaciones más profundas con la computadora o con los videojuegos que con las personas que están a su alrededor tienen pocas probabilidades de llegar a tener relaciones íntimas, satisfactorias y plenas con otros individuos. “El joven se vuelve un esquizoide, que es un paso antes de la esquizofrenia, y eso es muy grave. Los adolescentes se conocen a través del ordenador, pero no entienden que eso no es conocer realmente a una persona, porque se deja de lado el lenguaje corporal que es el que en verdad tiene peso, las palabras no tienen peso por sí solas, alguien puede decir algo muy dulce sin sentirlo, y quien está detrás de la pantalla no puede darse cuenta del engaño”, comenta Mejía.

Pero también los adultos están siendo víctimas del abuso de la tecnología. “En mi consultorio veo a hombres que ya no pueden hacerle el amor a su esposa sin ver pornografía en el internet, o que prefieren verla a tener una relación sexual con su cónyuge. También veo a muchos solteros que ya no saben cómo iniciar una relación sino es por el chat o el mail, que ya no saben cómo enamorarse a través del trato de persona a persona. Nos estamos convirtiendo en una sociedad intolerante, impaciente, aislada, y el corre, corre en el que vivimos no nos deja espacios para interactuar con los otros”, agrega Mejía. El especialista también hace hincapié en el poco tiempo que se dedica ahora a disfrutar de actividades al aire libre. “Hoy en día la gente mira el mar, las montañas, los parques o los valles por medio de una presentación que llegó a su correo electrónico, no los vive, nos los experimenta, es una pena”, asegura.

Mejía sostiene que el mayor de los problemas es que las mujeres, hasta ahora las más interesadas en tener familias sanas y plenas, se quieren volver iguales a los hombres, y con ello están volviéndose también adictas a la tecnología, y dejando de lado a sus hijos, maridos, padres, madres, hermanos y amigos. “Esa es la mayor de las tragedias. Para la mujer siempre ha sido el amor lo más importante y por eso, creo yo, es que la sociedad ha subsistido hasta ahora, los hombres, con su afán de poder y dinero han llevado al mundo por caminos de guerra y dolor, así que si las mujeres se vuelven iguales a los hombres no quedarán más familias unidas y plenas. Hacia allí vamos, es una tragedia. Por eso, quien sienta que tiene un problema de este tipo debe buscar ayuda lo antes posible”, concluye Mejía.





Como crear un XML desde un ASP.

19 05 2009

Un archivo XML puede ser creado fácilmente desde cualquier editor de texto, hasta Notepad. Pero, ¿que hacemos cuando necesitamos generarlo dinámicamente?

Si no necesitamos guardar una copia en disco duro, podemos simplemente enviar el contenido XML desde nuestra página ASP, estableciendo antes el tipo de contenido a enviar como XML, como en el siguiente ejemplo:
<%
Response.ContentType=”text/xml”

Response.Write(“<?xml version=’1.0′ ?>”)
Response.Write(“<nota>”)
Response.Write(“<de>Jorge</de>”)
Response.Write(“<a>Jose</a>”)
Response.Write(“<mensaje>Hola!</mensaje>”)
Response.Write(“</nota>”)
%>

La razón mas común para generar un XML dinámicamente es que necesitamos extraer datos desde una base de datos, como lo ilustra el siguiente ejemplo:

<%
Response.ContentType = “text/xml”
set conn=Server.CreateObject(“ADODB.Connection”)
conn.provider=”Microsoft.Jet.OLEDB.4.0;”
conn.open server.mappath(“BaseDeDatos.mdb”)
sql=”select nombre, apellido from Clientes”

set rs = Conn.Execute(sql)
rs.MoveFirst()
response.write(“<?xml version=’1.0′ ?>”)
response.write(“<clientes>”)
while (not rs.EOF)
response.write(“<cliente>”)
response.write(“<nombre>” & rs(“nombre”) & “</nombre>”)
response.write(“<apellido>” & rs(“apellido”) & “</apellido>”)
response.write(“</cliente>”)
rs.MoveNext()
wend
rs.close()
conn.close()
response.write(“</clientes>”)
%>

Finalmente, si lo que necesitamos es grabar el archivo XML en disco duro, podemos hacerlo con el objeto Microsoft.XMLDOM:
<%
Dim objDom
Dim objRaiz
Dim objHijo1
Dim objHijo2
Dim objCabecera

‘instanciamos el XMLDOM
Set objDom = Server.CreateObject(“Microsoft.XMLDOM”)

‘instanciamos el elemento raiz y lo agregamos al objeto XMLDOM
Set objRaiz = objDom.createElement(“ElementoRaiz”)
objDom.appendChild objRaiz

‘instanciamos el elemento Hijo1 y lo agregamos al elemento raiz
Set objHijo1 = objDom.createElement(“childElement1″)
objRaiz.appendChild objHijo1

‘instanciamos el elemento Hijo2 y lo agregamos al elemento raiz
Set objHijo2 = objDom.createElement(“childElement2″)
objRaiz.appendChild objHijo2

objDom.createProcessingInstruction(“xml”,”version=’1.0′”)

‘agregamos la cabecera antes del elemento raiz
bjDom.insertBefore objCabecera, objDom.childNodes(0)

‘finalmente grabamos el XML en disco duro
objDom.Save “c:MiArchivoXML.xml”
%>

Así hemos revisado las distintas formas de generar XML desde ASP. En próximas entregas veremos como manipular nodos con el objeto XMLDOM.
Autor: Jorge González

Original de WebExperto





Windows 7 disponible en Release Candidate.

18 05 2009

Desde éste 5 de mayo ya está disponible en el sitio web de Microsoft el Release Candidate de Windows 7, tanto en su versión de 64 como de 32 bits, inclusive en su versión en españo.

Podemos solicitar todas las claves de activación que queramos, tanto para la versión de 32bits como para la de 64. Una vez activada nuestra copia de Windows, podremos usarla sin problemas hasta el 1 de marzo de 2010.

En la celebración de la Tech-Ed, Microsoft ha confirmado que Windows 7 estará disponible durante este año. Concretamente, afirman que podrá adquirirse durante la holiday shopping season, es decir, que antes de finales de noviembre estará a la venta.

Al ser la última versión beta, se supone que Microsoft no introducirá cambios mayores en la edición definitiva del sistema operativo y tan solo se harán pequeñas mejoras.

Microsoft prevé que unos tres millones de usuarios descarguen esta versión de Windows 7, que ya ha sido probada en los últimos días por suscriptores de MSDN y Technet.

Microsoft ha usado en contadas ocasiones la estrategia de lanzar una versión gratuita previa a la de pago, aunque la práctica es frecuente entre compañías que producen software libre.





Creación de tablas desde un procedimiento almacenado en la Base de datos (Oracle)

24 03 2009

Dentro de los conceptos más buscados encontré que muchas personas buscan éste tipo de código, así que para todas ellas aquí les vá, y cómo siempre,   para mí, un ejemplo es mucho más sencillo de aprender, que todo un pergamino de explicaciones, así que, cualquier duda,  solo escribanme.

PROCEDURE “CREA_TABLAS” (P_CODIGO_FORMULARIO IN NUMBER)
IS
CURSOR CONCEPTOS IS
SELECT CODIGO_CONCEPTO, CODIGO_FORMULARIO, NOMBRE_DEL_CAMPO
FROM DM_CONCEPTOS_FORMULARIOS
WHERE CODIGO_FORMULARIO = P_CODIGO_FORMULARIO
ORDER BY CODIGO_CONCEPTO;
DDL VARCHAR2(32767);
BEGIN
EXECUTE IMMEDIATE  ‘DROP TABLE TEMP_’||TO_CHAR(P_CODIGO_FORMULARIO);

DDL := ‘CREATE TABLE TEMP_’||TO_CHAR(P_CODIGO_FORMULARIO)||’ (‘;
DDL := DDL || ‘ANIO NUMBER(4), ‘;
DDL := DDL || ‘MES NUMBER(2), ‘;
FOR J IN CONCEPTOS LOOP
DDL := DDL ||TO_CHAR(J.NOMBRE_DEL_CAMPO)||’ NUMBER(20,2), ‘;
END LOOP;
DDL := SUBSTR(DDL,1,LENGTH(DDL)-2) || ‘ ) TABLESPACE TBS_TABLAS ‘;

EXECUTE IMMEDIATE DDL;

EXECUTE IMMEDIATE ‘CREATE INDEX I_TEMP_’||TO_CHAR(P_CODIGO_FORMULARIO)||’_FACT ON TEMP_’||TO_CHAR(P_CODIGO_FORMULARIO)||’(ANIO, MES) TABLESPACE TBS_INDICES’;

DBMS_OUTPUT.PUT_LINE(‘PROCESO GENERADOR DE LA TEMP_’||TO_CHAR(P_CODIGO_FORMULARIO)||’ CONCLUIDO SATISFACTORIAMENTE!’);
EXCEPTION WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20912, SQLCODE || ‘,’ || SQLERRM);
END;

Obviamente, si quisieran que éste código funcionára sería necesario crear una tabla llamada “Dm_Conceptos_Formularios”, y que ésta tenga las columnas “Codigo_Concepto”, “Codigo_Formulario” y “Nombre_del_Campo”, por lo demás, sólo bastaría con crear este procedimiento a nivel de base de datos, y listo,… ya tienen un ejemplo de cómo crear tablas dinamicamente desde un procedimiento almacenado.

De igual forma pueden llenar la tabla también desde un procedimiento almacenado, así que espero les sirva.

Saludos.





!! Feliz Navidad 2008 !!

19 12 2008

En éstos dias de celebración quiero agradecer primeramente a DIOS nuestro señor por todas las bendiciones que ha derramado en mi y a mi familia,  luego por todos y cada uno de ustedes que han sido parte de éste humilde proyecto personal en el que me he dado a la tarea de compartir con amigos y la comunidad bloguera comentarios personales, presentaciones, hobbies, conocimientos, humor y mi mas sincera amistad.

Espero que se la pasen bien durante éstas celebraciones, y por favor, recuerden que lo más lindo de éstas fechas no son los regalos, ni santa claus, ni la nieve, ni la comida, ni la música, ni las compras, ni nada de éso, ésos son distractores comerciales que se le quieren meter a una hasta por los poros, lo más lindo es que vamos a celebrar el día en que el salvador del mundo nació, “Porque de tal manera amó DIOS al mundo que ha dado a su hijo unigénito para que todo aquel que en el crea, no se pierda, mas tenga vida eterna..”,  !! Señores !!, la misericordia de DIOS es infinita,  de tal forma que envió a Jesús, su hijo para el perdón de nuestros pecados,   Su nacimiento es lo que vamos a celebrar, así que por favor, no se olvide de invitar al homenajeado a su cena de navidad, y de compartir con toda su familia la felicidad por haber recibido tan inmenso regalo.

Deseo que éste 2009 sea repleto de bendiciones para ustedes y sus familias, y que por favor, no se olviden de los menos afortunados,  que compartamos con ellos  las bendiciones que DIOS nos ha regalado, los insto a que se propongan metas altas, a que luchen por lo que quieren, a que amen sin límites y a que disfruten de cada uno de los momentos que se nos presentan, recuerden que el pasado ya pasó, el futuro es incierto, pero el presente, ése es el que tenemos que vivir, no dejemos que pase en valde.

Un abrazo fuete para todos, y que DIOS ME LOS BENDIGA.

Atte:  Jorge Guillén.





Administración Gerencial

13 11 2008

Se asocia a Henry Fayol (Padre de la Administración Moderna), su filosofía se reduce a la aplicación de las 4 funciones básicas de la administración (Planeación, Organización, Dirección y Control) y aplicar ciertos principios administrativos:

• División del Trabajo ( > especialización = > eficiencia )

• Autoridad (se da la misma de acuerdo al puesto)

• Disciplina (se deben respetar las reglas y políticas)

• Unidad de Mando (se debe recibir órdenes de un solo jefe)

• Unidad de Dirección (solo un gerente será responsable)

• Subordinación de intereses personales a los de la empresa

• Remuneración (debe ser equitativo empleado y patrono)

• Centralización (delegar autoridad y compartir responsabilidad)

• Cadena de Mando (una sola línea de mando desde arriba)

• Orden (todos deben estar en sus puestos)

• Equidad (los gerentes deben ser justos y ecuánimes)

• Estabilidad y permanencia del personal (no rotación alta)

• Iniciativa (libertad de opinión)

• Espíritu de Grupo ( fomentar el espíritu de conjunto)