Category Archives: Sin categoría

utilizar excel para sumar notas de varios examenes en una hoja (BUSCARV)

Normalmente las oposiciones vuelcan las notas en un pdf, pasamos los datos a un ficheros de texto

y separamos las columnas mediante algún delimitador como ;


abrimos el excel e importamos los datos

Indicando que el delimitador es:

Una vez que tenemos los 2 ficheros de texto vamos a juntar las notas:

 

sobre el primer fichero pegamos los datos de la segunda tabla

Y utilizamos la funcion BUSCARV

poniendo como parametros, la celda a buscar, el rango donde va a buscar ( utilizamos $ para bloquear las filas), la columna, que dentro del rango es la 3 y falso para que la busqueda sea exacta.

Una vez la hemos puesto, la arrastramos sobre todas las filas de la columna y tenemos juntas las 2 notas en un solo fichero

ahora solo nos quedaria quitar los alumnos que no han aprobado el segundo examen y sumar las dos notas

Hay que tener en cuenta que son formulas y si queremos quitar los datos auxiliares desaparecen los datos calculados por lo que se recomienda añadir una columna al lado de la calculada y pegar “solo los valores” para poder posteriormente eliminar la columna calculada

Y nos queda la hoja terminada

Capturas trazas android linea comandos MAC

Para capturar trazas de Android lo primero es tener instaladas las herramientas platform-tools que vienen con el sdk

Abrimos un terminal y con el telefono conectado ( y habilitadas las herramientas de desarrollador ) para permitir la depuracion miramos si aparece el dispositivo conectado:

adb devices

Para empezar a capturar trazas: adb logcat

Si queremos filtrar para que solo nos aparezcan los de un paquete

Y si queremos pasarlo a un fichero:

Lenguajes de programación

Llevo muchos años programando y a lo largo de este tiempo he pasado por muchos lenguajes de programación. Empecé a trabajar con Visual basic, allá por el año 2000, con su versión 6, aunque al poco pase a la versión de .net, si no recuerdo mal en 2002, por necesidades del proyecto en el que estaba, además me toco empezar con c# también en el año 2002, con ellos realicé mis trabajos fin de carrera en la universidad. Bueno, para ser exactos en la universidad el primer lenguaje que recuerdo fue c++ con sus punteros, y con unos entornos muy simples, que hacían que salieran errores con mucha frecuencia; porque pascal hacia ya muchos años que no se utilizaba, pero nos lo enseñaron igual.

Por mi cuenta aprendí PHP y durante muchos años mi trabajo me ha llevado por ese camino, con este lenguaje he visto distintos frameworks, pero no me he atado con ninguno, en paralelo aprendi Java, que también he utilizado en mis trabajos.
Por iniciativa propia me apunté a un curso para hacer aplicaciones de IOS, y conocí objective-c, con el que llegué a publicar una decena de aplicaciones para móvil y tablet, algunas propias y otras para clientes, a día de hoy todavía alguna está disponible en el market, si bien no tiene muchas descargas, se utiliza prácticamente a diario.

Como le cogí el gusto a las aplicaciones móviles, me metí también en hacerlas para Android, aunque aquí se repite el lenguaje, pues Java fue la opción elegida.
Con el tiempo se ha ido dejando de utilizar objective-c y ha tocado reciclarse, otro curso para poder aprender Swift, versión 3, aunque ya van por la 4, y reconozco que este lenguaje incluye demasiados cambios entre versiones….
He hecho también un curso para ver Python, que no he llegado a utilizar profesionalmente en ningún proyecto y pensando no soy capaz de recordar ninguno mas… porque Javascript no lo incluyo como lenguaje de programación…

Me ha dado por pensar si no será hora de ver algún lenguaje nuevo, pues en este oficio, hay que estar en continuo reciclaje, y los mercados son cambiantes.
Una búsqueda rápida en google nos muestra los lenguajes de programación de 2010


https://desarrolloweb.com/de_interes/ranking-lenguajes-programacion-noviembre-2010-4397.html

Y los que se usan en 2018

Lenguajes Programación más populares 2018 (Ranking Tiobe)

 

Y parece que no ha cambiado mucho en estos años, Java sigue siendo el ganador indiscutible y C, tanto c como c++ siguen en el podio.

ya por curiosidad he buscado el año 2000 donde Java no era la primera opción

El lenguaje de los grandes programadores

Veo también que PHP ha bajado bastante, aunque sigue siendo la tecnología mas utilizada en Internet

Aproximadamente el 78% de todos los sitios web utilizan alguna versión de PHP, pero la mayoría usa versiones viejas.

Hay un lenguaje que se me pasa por la cabeza y del que nunca he visto nada y es Ruby, para utilizar con el entorno de Ruby on Rails

Volviendo a google hago una búsqueda de que lenguaje aprender en 2019 y me quedo con la entrada de 5 lenguajes y veo que no voy mal, conozco 4 de 5 y en menciones honorificas tienen a Ruby, por lo que no parece mala idea conocerlo.

Como proteger tu contraseña de wifi

Cada vez utilizamos mas cosas sin cables, lo queremos todo wireless, teléfonos, auriculares…
Y ademas cada vez tenemos/queremos mas cosas conectadas, televisiones, que se conectan a Internet y se convierten en Smarttv (nos permiten ver vídeos en youtube, escuchar música en Spotyfy o ver series y películas de compañías como Netflix, HBO o amazon prime video), neveras ( que se conectan a Internet y pueden ordenar productos a medidas que se van gastando, yo esto todavía lo veo un poco verde, pero en unos años será lo normal… ), termostatos ( que puedes controlar desde el móvil para encender o apagar la calefacción desde la calle, o los hay mas inteligentes, que en función de la ubicación predefinida en los ajustes y de los datos de temperatura y humedad que obtienen de servicios web de meteorología, son capaces de adaptar su programación de manera automática, así para un día de invierno pero que está soleado, sube menos la calefacción que si está nublado), cámaras (que te permiten ver tu casa desde cualquier lugar del mundo, esto también sirve para poder ver a tus mascotas cuando están solas en casa), hace poco vi en una conocida tienda de marca china que abrió tiendas en España una tetera ( o calentador de agua ) que tenia conexión wifi, creo que tendrá pocas opciones (apagar o encender) pero es un claro síntoma de que todo pasa por estar conectado, y para ello el requisito mas importante es tener conexión a Internet, y lo segundo es tener WIFI, porque seamos realistas no nos imaginamos ya esos aparatos con conexión por cable, llenando la casa de tomas RJ-45.
La lista puede seguir si añadimos persianas automáticas ( pero no solo por tener un botón de subir o bajar sino que tienen un modulo que permite recibir señales que desde una consola central, junto con sensores dentro de la casa y datos de fuera, permiten bajar las persianas por ejemplo si se pone a llover….) y todos aquellos que seguro que ya existen pero que todavia no conocemos.
Eso se nota rápidamente cuando abres los ajustes de red de tu ordenador y/o tableta/movil y ves una lista interminable de conexiones wifi

Como se puede ver en la imagen y ocurre en la gran mayoría de los casos, las redes son seguras ( tienen un candado al lado que lo indica ).
¿Pero son realmente seguras? El hecho de ver un candado nos tiene que dar confianza?
Existen aplicaciones para robar wifi por lo que tenemos que encontrar aplicaciones para proteger tu contraseña de wifi, aunque estas como tal no existen, sino que lo que hay que hacer es seguir una serie de pasos para evitar que nuestra red sea vulnerable, voy a ponerlas en el orden que yo creo que es mas importante:
– Cambiar la clave del WIFI, todos los router vienen con una red y clave definidas (suele verse en una pegatina en la parte inferior)
– Cambiar la clave de administrador del router, (también suele tener una por defecto para el modelo y se puede averiguar por Internet)
– Ocultar la red, ( para muchos usuarios si una red no aparece en la lista de redes disponibles, es como si no existiera )
– Filtrar por MAC, (que no se pueda conectar cualquiera a la red, esto tiene el problema de que viene gente a tu casa y si les quieres dar acceso no están fácil como decirles la clave… pero son los inconvenientes que da el aumento de seguridad…. )

Como hacer amigos en internet

Vivimos en una sociedad donde las relaciones humanas son cada vez mas difíciles, o por lo menos mas complicadas, dejarme que me explique: Ahora todo es digital, la manera de comunicarnos ha cambiado y hay que adaptarse a ello.
Hace algunos años no existían los móviles, ni con ellos los sms al principio o el whatsapp mas recientemente, tampoco había redes sociales.
Facebook por ejemplo empezó en 2004 pero no fué hasta 2008 cuando se convirtió en lo que es ahora.
A lo largo de los últimos años hemos visto como nacían muchas redes sociales (Instagram, Pinterest, Twitter) y algunas de ellas también morían, como por ejemplo Friendster o myspace.


El tema de los moviles tambien es digno de destacar, hace 20 años los telefonos moviles se utilizaban solo para llamar y muchas veces ni eso, se hacia una “llamada perdida” que dependiendo de la situacion podia significar varias cosas, como ya he llegado o si era de hijos a padres un “llamame tu”.
Ahora los moviles se usan menos para llamar pero mas para la comunicación digital, sobre todo whatsapp, siendo la aplicación mas utilizada en españa.
Pero volvamos al tema principal, antes la unica manera de conocer gente era mediante el trato personal, habia que hablar con la persona y eso podia ser el comienzo de una amistad. Las interacciones se producian en el lugar de trabajo, el gimnasio, o en bares y zonas de ocio, los mas mayores recordarán tambien los recreativos o las plazas llenas de niños jugando.
Ahora todo es digital, cada vez se ven menos niños jugando en la calle, menos balones y menos bicicletas, y un ejemplo se pudo comprobar solo hace unos días, mas concretamente el 25 de diciembre, donde hace 20 años veías gente en la calle estrenando regalos, ahora no había nadie, los chicos solo quieren cosas digitales, consolas, videojuegos, teléfonos móviles y tabletas.
Eso nos lleva otra vez a que si los niños son así, los mayores tambien cambian sus habitos, todo el mundo tiene el movil “a mano”, e Internet es la manera de comunicarnos e informarnos, de interactuar con el entorno, fotos de lo que comemos, de donde vamos y de con quien estamos, etiquetamos todo y comentamos lo que hacen nuestros amigos y conocidos.
Todo esto nos lleva a que cada vez hay menos relaciones personales, incluso entre parejas que estando sentadas juntas se escriben por whatsapp…
Entonces, ¿como se hacen amigos?
Dependiendo de la edad las redes sociales te pueden ayudar, los amigos de tus amigos comentan, tu respondes y puede que surja una conversación, o por el otro lado, si no conoces gente de verdad no puedes añadir a nadie a las redes sociales por lo que no hay manera de empezar a “hablar” aunque sea digitalmente.
Luego está el tema de cuantos amigos tienes y la “calidad” de esas amistades, mucha gente tiene 500 o mas amigos en una red social, pero de verdad los conoces a todos o has hablado con ellos alguna vez.
Entonces descubrimos que una manera de conocer gente puede ser un foro de amistad, donde buscar un tema que te apasione y encontrar gente que también le guste, ese es el punto de partida que necesitamos para conocer gente.

Nociones de economia

Llevo unos días con ganas de aprender algo de economía con la intención de invertir.

Por lo que he leido términos totalmente desconocidos para mi como pueden ser commodities, forwards, los swaps, las OTC, tipos de derivados financieros o los CFDs entre otros.

Entonces esto no parece un tema sencillo, por lo que vamos a intentar ir por partes:

Macroeconomía vs. Microeconomía.

La Macroeconomía estudia el funcionamiento económico a gran escala, así como la repercusión de las políticas económicas en un país, por ejemplo. Se ocupa de analizar:

– La evolución en el corto plazo de la producción, del empleo y de los precios, es decir, de los ciclos económicos.

– La evolución en el largo plazo de la producción y del nivel de vida, es decir, del crecimiento económico.

La Microeconomía estudia el comportamiento de las unidades económicas individuales: individuos, familias, empresas y los mercados en los que operan. Analiza:

– La formación de los precios a partir del cruce entre Oferta y Demanda.

– La asignación de los recursos escasos entre finalidades alternativas.

Hay varias premisas que tenemos que tener clara desde el comienzo:
– Toda inversión tiene un riesgo ( que nadie intente venderte un producto con riesgo 0 )
– Cuanto menor es el riesgo menor será la rentabilidad, o visto de otra forma, cuanto mayor sea el riesgo, mayor tiene a ser su beneficio, aunque también la posibilidad de perder mucho o todo.

Cuando hablamos de riesgo tenemos que ser conscientes de que se puede perder una parte , todo y con algunos productos se puede perder mas de lo invertido.

Otro de los puntos a tener en cuenta es el tiempo que vas a tener la inversión bloqueada, con la imposibilidad de utilizar ese capital. Por lo que necesitas un remanente de dinero con el que no puedes contar en el tiempo que vas a invertir.

Productos de bajo riesgo
Aquí se incluyen los depósitos y las cuentas bancarias de plazo fijo, que a dia de hoy tienen unos intereses muy bajos, por ejemplo ( y según esta web), el valor mas alto es 2% .

Con esto la ganancia que se consigue es bastante baja si tenemos en cuenta que el coste de la vida crece mientras tenemos el dinero bloqueado.

Otro de los productos es la deuda pública, que en el momento de escribir esto tiene valores incluso negativos (web), por lo que no solo no ganamos dinero, sino que nos cuesta.

Productos de alto riesgo
Comprar deuda privada, es el equivalente al punto anterior, pero cambiando la administración por una empresa. Esto tiene un riesgo mayor, pues la empresa puede quebrar y al final quedarnos sin el dinero. Pero también es posible ganar mas dinero si al final todo sale bien.

Otro de los productos que podemos encontrar como de alto riesgo son las acciones. Que son participaciones del capital de una empresa. Si compramos acciones al final lo que obtenemos es una pequeña ( en algunos casos minúscula) parte de la empresa. En este punto podemos hacer referencia a la bolsa y ver unos de los indicadores principales ( que no el único) que es el IBEX

Uno de los ejemplos que mas me gustan es el de las acciones de amazon:

Donde en el año 1997 las acciones valían 1,5 dolares, para pasar en el año 2007 a cerrar con un valor de 97, que podríamos decir que es muy grande, pero es que si lo comparamos con el valor de 2017, donde han pasado la barrera de los 1000 dolares, es casi irrisorio, pero cuantos de nosotros en el año 1997 podríamos pensar en lo que llegaría a ser….

Como caso contrario podemos mostrar el del banco popular,

Donde la gente que invirtiera en 2008 ha visto como sus acciones han pasado de 25 a 0, por lo que han perdido todo su dinero.

Raiola manda y no el panda

Esta mañana repasando los rss de las distintas web que sigo me ha llamado la atención que en varias paginas hablaban de raiola manda y no el panda, pero ¿ Qué es raiola manda y no el panda?

Pues básicamente un concurso SEO organizado por David Ayala y Deam Romero.
Podeis encontrar el enlace aqui

Pero eso tampoco cuenta nada, por lo que os explico un poco mas.

Todo empezó aproximadamente hace un mes, David & Dean, presentaron mediante un vídeo hace aproximadamente un mes, concretamente el 8 de mayo, lo que iba a acontecer durante el mes de junio, este gran concurso SEO al que pusieron el nombre raiola manda y no panda, y en el que ponían todos sus esfuerzos para que todos los SEOs pudiésemos ponernos a prueba, y lo hacían mediante el siguiente vídeo:

Aquí ya nos dejaron con las ganas a todos, y estábamos deseando que llegará el 1 de junio para empezar a enfrentarnos al concurso SEO de los 5.000. ¡ahí es nada!

Actualmente el concurso lo ganara quien tenga más autoridad, es decir si hoy busco en Google La Raiola manda y no el panda obviamente van a salir sitios que tienen mucho tiempo online y por ende con autoridad, por lo que es complicado que un dominio nuevo pueda hacerles frente.

Es súper interesante como se puede sacar mucho provecho de estos concursos, una de las fuentes de más valor son las oportunidades de en laces que podemos conseguir con el concurso de La Raiola manda y no el panda muchos usuarios sacan esos enlaces “escondidillos” permitiendo que pueda hacerme de una base de datos nueva de sitios donde dejar enlaces para futuros proyectos.

Por qué quieren dar 5000 euros a un ganador

Es fácil. Los packs SEO han dañado el sector y cada vez vemos más anuncios en adwords anunciando top 1 en keywords sin competencia como hoteles, etc.. por sólo 50 euros. Y esto ha hecho mucho daño.

Los SEO que antes cobraban 500 euros por una campaña SEO (al mes), han acabado comprando en Primark por culpa de este nuevo tipo de SEOs. Los SEO destroyers les llaman.

Debido a esta cantidad de bajada en los presupuestos, la compañia Raiola ha decidido donar 5000 euros al sector SEO para que alguien pueda irse de vacaciones este año.

Por otro lado el sector del SEM se ha quejado de la iniciativa. “Nunca hacéis un concurso para nosotros, estamos hasta los huevos y nos posicionamos más rápido” dicen…

¿Estamos ante la próxima guerra de sectores? ¿El Taxi y Cabify/Uber pasarán a un segundo plano? Si los SEO y los SEM quieren, sí. Sin duda.

Y el panda que tiene que ver en esto
El panda ha sido usado como parte de la campaña para causar ternura y facilitar que la gente caiga y participe. El panda siempre ha sido un animal adorable hasta que Google lo uso para nombrar a su algoritmo y desde entonces la gente le tiene manía. Las búsquedas en Youtube de videos sobre panda han bajado, les han cambiado el bambú por cebollinos y ya no saben que hacer con su vida. Están tristes y cabreados.

Patron observer en un comando JONIC desde Bean

En la estructura de JONIC, no podemos crear el comando que extienda de Observable (porque ya extiende de ResultCommand), por lo que creamos una clase interna que si lo haga.

 

public class ConsultaMasivaCMD extends ResultCommand<List>

public PorcentajeMasivoObservable myobs = new PorcentajeMasivoObservable();

public class PorcentajeMasivoObservable extends Observable
{
private int porcentaje = 0;
public int getPorcentaje()
{
return porcentaje;
}
public void setPorcentaje(int porcentaje)
{
this.porcentaje=porcentaje;
setChanged();
notifyObservers();
}

}

 

Y dentro de nuestro comando en el runcommand:

@Override
public ResultCommand<List<Resultado>> runCommand() throws Exception {

      for (int i = 0; i <=array.size() - 1; i++) {

          ... 
          myobs.setPorcentaje(porcentaje);
      }

}

Ahora que ya tenemos la clase observable nos vamos al bean:

public class ConsultaFicherosBean extends RequestAbstractBean implements Serializable, Observer {

private ConsultaMasivaCMD.PorcentajeMasivoObservable pmo =null;

private Integer progress;

public String acConsultar() {

ConsultaMasivaCMD cmd = (ConsultaMasivaCMD)createCommand(ConsultaMasivaCMD.class);
cmd.setObj(this);
pmo=cmd.myobs;
pmo.addObserver(this);
cmd = (ConsultaMasivaCMD) runCommand(cmd);
if (cmd != null && cmd.getResult() != null)
result.addAll(cmd.getResult());

return "donde sea";
}

@Override
public void update(Observable o, Object arg) {
if (o==pmo){
progress=pmo.getPorcentaje();
}

}

En el xhtml ponemos una barra de progreso con un poll para indicar el estado del progreso.

<h:form id="dataForm">

<p:commandButton id="viewButton" value="Enviar Petición"
action="#{consultaFicherosBean.acConsultar}"

onclick="PF('pb').start();PF('poll').start();"
onstart="PF('dlg').show()"
oncomplete="PF('dlg').hide();PF('pb').cancel();PF('poll').stop();"
update=":dataForm :prg"

icon="ui-icon-pin-s" />

</h:form>

<p:dialog widgetVar="dlg"
appendTo="@(body)"
modal="true"
width="400"
height="100"
header="Progreso"
draggable="false"
closable="false"
closeOnEscape="false"
resizable="false"
minimizable="false">
<h:form id="prg">

  <p:poll interval="1"
  widgetVar="poll"
  autoStart="false"
  async="true"
  update=":prg"
  immediate="true"/>

<!-- progressbar-->
<p:progressBar widgetVar="pb"
ajax="true"
value="#{consultaFicherosBean.progress}"
labelTemplate="{value}%"
styleClass="animated"
global="false">
</p:progressBar>
</h:form>
</p:dialog>

Con esto el comando avisa en cada iteración del porcentaje, el Bean se entera y actualiza su variable de progreso y la página mediante el poll y la barra de progreso puede informar al usuario de como va la tarea.