Author Archives: admin

Tips para programadores

Aprende un nuevo lenguaje

Es sabido que no debes enfocarte en una sola tecnología o lenguaje de programación.   Pero el sentido de este consejo no es sólo que escojas una tecnología que te permita ganar más dinero (que también es una buena idea), sino que además de eso te permita experimentar y hacer cosas diferentes. Por ejemplo, si siempre has estado enfocado a aplicaciones WEB, puedes comenzar a experimentar con el control de motores eléctricos o para obtener datos desde sensores o hardware que no hayas usado anteriormente, o probar también con aplicaciones para móviles, tendrás una perspectiva más amplia de lo que es el desarrollo de software.


Ten un  “Pet Project”

Todos tenemos ideas para una aplicación o desarrollo que nos gustaría programar.  Sin embargo pocas veces las materializamos.  Esto no sólo es malo porque pierdes la oportunidad de llevar a cabo una buena idea, sino que también es posible que nunca sepas si esa idea es mala o que en realidad no sea tan útil, o peor aún, que ya exista algo parecido porque no habías investigado demasiado y te enfoques mejor en otra cosa.  Adquiere el hábito de tener al menos un proyecto y ve agregando características poco a poco pero de forma constante.

Relaciónate con personas que hagan cosas diferentes

No sólo se trata de encontrar gente que use otras tecnologías, sino otras formas de hacer negocios y de ganar dinero.  Es posible que encuentres oportunidades donde otros no las han visto, tan sólo porque no ha llegado nadie para propornerlas.  No te enfoques sólo a entender los problemas de los clientes de la empresa donde trabajes.

Haz que tu trabajo se vea elegante

Son muchos los desarrolladores que descuidan el aspecto visual de su trabajo y sólo se preocupan porque funcione correctamente.  Sin embargo una apariencia visual o usabilidad deficientes, pueden hacer que el usuario tenga una impresión equivocada sobre como funcionan tus desarrollos y llegue a pensar que tiene errores aún cuando esto no sea verdad, recuerda que haces desarrollo para facilitarle la vida a personas que no siempre tienen un conocimiento técnico silimar al tuyo.

No inventes cosas que ya están bien hechas

Lenguajes como Java o C# no son los más ampliamente usados por su sintaxis o su facilidad de uso, sino por la inmensa variedad de librerías o herramientas que existen y que puedes usar libremente, con la seguridad de que van a funcionar correctamente. No gastes tu tiempo tratndo de hacer algo que ya existe si no lo vas a superar.

Comparte y acepta críticas a tu código

Es universal. Ocurre en todas las profesiones. A nadie le gusta que le digan como hacer cosas que uno supone hace bien.  Pero compartir ideas y tomar en cuenta las recomendaciones de otros es casi tan útil como Google para aprender cosas nuevas.  Además mejoras tu ambiente laboral.

Crea librerías de ejemplos o soluciones

No es que tengas que desarrollar librerías nuevas, se trata más bien de esos ejemplos, como conectarte a bases de datos, nombres de drivers, herramientas, comandos, funciones o técnicas de desarrollo que quizá aplicarás en tus proyectos más de una vez. En cualquier momento puedes usar el buscador y encontrar prácticamente todo lo que necesites, pero tener cosas ya probadas previamente por tí, es muy útil.

Descansa lejos de la computadora

Esto debes hacerlo por puro amor propio y no sólo es descansar, ejercítate.  Algunos problemas de espalda y ojos derivados de pasar horas sentados frente a la computadora pueden agravarse y son difíciles de tratar.  Cuida tu cuerpo.

 


Una de las mejores presentaciones de Machine Learning

El empleado de Google Jason Mayes, ingeniero creativo senior, ha publicado unas de las mejores presentaciones sobre Machine Learning. El trabajo es el resultado de dos años de experiencia, es gratuito y se puede descargar o visualizar en línea. Los únicos requisitos según su creador son los siguientes:

  • Dos horas de estudio y atención continuas.
  • Cerrar clientes de correo y aplicaciones de mensajería.
  • Buscar un lugar adecuado para su estudio, porque no por nada se trata del estudio de “deep learning”.
  • Leer más de una vez las letras en negritas.

El único inconveniente, está en inglés, pero es más o menos fácil de entender.
El enlace directo: https://docs.google.com/presentation/



La presentación de Google Duplex en la Google I/O

La gran novedad en uno de los eventos más importantes de Google, la 2018 I/O Developer Conference es Google Duplex, el asistente que hará las reservaciones por ti.

Durante la presentación, el asistente realiza dos reservaciones con establecimientos reales.  El asistente, la “persona no real” interactúa con una “persona real”, que parece no percatarse nunca que está conversando con una inteligencia artificial.




Una de las cosas más sorprendentes es la velocidad de respuesta y la entonación bastante natural del asistente.  Es un poco gracioso el momento en que el asistente usa la expresión “Mm hmm”, que no es que sea particularmente difícil de “decir”, sino que ha escogido el momento preciso y hace la conversación más familiar, cosa que no ocurre regularmente con otras IAs.

Otro aspecto interesante (en la reservación al restaurante), es que aunque parece haber una confusión entre el número de personas que asistirán y la fecha en que debe realizarse la reservación, el dialogo y el arreglo terminan más o menos bien, lo cual no es cualquier cosa para una IA.

Google ha dicho que la función se lanzará como un experimento en las próximas semanas.


Linus Torvals, la mente detrás de Linux

Linus Torvalds transformó la tecnología dos veces: primero con el núcleo de Linux, que es uno de los soportes fundamentales de Internet, y lo hizo nuevamente con Git, el sistema de administración de código fuente utilizado por desarrolladores de todo el mundo. En una rara entrevista con el Curador de TED, Chris Anderson, Torvalds discute con gran apertura los rasgos de personalidad que impulsaron su filosofía de trabajo, su ingeniería y su vida.

Puedes activar los subtítulos en español.

 

 



Netbeans – Accesos directos

En NetBeans existen algunos atajos que facilitan la escritura de codigo, aquí te mencionamos algunos.

Para dar formato o manipular código están las siguientes combinaciones:

Alt-Shift-F Da formato al código seleccionado o a todo el código si no hay selección.

Ctrl-Shift-Up/Down Copia lineas de código hacía arriba o hacia abajo.



Alt-Insert Genera código dependiendo de las posibilidades desplegando un menú de opciones.


Ctrl-Shift-I Agrega las sentencias de importación de clases que hagan falta.
Alt-Shift-I Arregla la importación de clases seleccionada.
Alt-Shift Left/Right/Up/Down Mueve la línea de código en la dirección de las teclas.
Ctrl-Shift-R Selecciona código de forma rectangular.

Ctrl-Shift-C Agrega dobles diagonales para comentarios de una sola línea.

Ctrl-E Borra la línea en la que está posicionada el cursor.

 

Prueba escribiendo de forma suscesiva los siguientes caracteres:

ifelse y a continuación la tecla Tab, NetBeans completará un bloque if con su else:

        if (true) {
            
        } else {
        }

trycatch y a continuación la tecla Tab, NetBeans completará un bloque try-catch:

        try {
            
        } catch (Exception e) {
        }

for y a continuación la tecla Tab obtienes un bloque de código para for listo para usarse:

        for (int i = 0; i < 10; i++) {
            
        }

Con el ciclo for hay más sopresas:

forst y a continuación Tab, crea el ciclo sobre un StringTokenizer:

        for (StringTokenizer stringTokenizer = new StringTokenizer(STRING); stringTokenizer.hasMoreTokens();) {
            String token = stringTokenizer.nextToken();
            
        }

forc y a continuación Tab, crea el ciclo sobre un Iterator:

        for (Iterator iterator = col.iterator(); iterator.hasNext();) {
            Object next = iterator.next();
            
        }

fore y a continuación Tab, crea el ciclo sobre un arreglo sin uso de índices:

        for (String arg : args) {
            
        }

fori y a continuación Tab, crea el ciclo sobre un arreglo con índice:

        for (int i = 0; i < arr.length; i++) {
            Object object = arr[i];
            
        }

forl y a continuación Tab, crea el ciclo sobre un objeto Array:

        for (int i = 0; i < lst.size(); i++) {
            Object get = lst.get(i);
            
        }

forv y a continuación Tab, crea el ciclo sobre un objeto Vector:

        for (int i = 0; i < vct.size(); i++) {
            Object elementAt = vct.elementAt(i);
            
        }

Para while, prueba con “whileit“, “whilen“, and “whilexp

Si no conocías estos atajos esperamos que te sean de utilidad.


Un diagrama casi completo de las Redes Neuronales

Existe una amplia variedad de tipos de redes neuronales y a veces es necesario un mapa para navegar entre muchas arquitecturas y enfoques emergentes.  Fjodor Van Veen del instituto Asimov compiló una maravillosa variedad de topologías de redes neuronales.

Mas info:www.asimovinstitute.org



Oracle moverá Java EE a la Fundación Eclipse

Oracle anuncia que junto con IBM y Red Hat, moverá Java EE a la Fundación Eclipse.  David Delabassee, evangelista de software de Oracle comenta en su blog:

“Nos hemos acercado a IBM y Red Hat, los otros mayores contribuyentes a la plataforma Java EE, para solicitar su apoyo a esta nueva dirección. Oracle, IBM y Red Hat están colaborando continuamente para refinar un enfoque en el que podamos colaborar colectivamente”

https://blogs.oracle.com/


El mapa de la ciencia de la computación

Dominic Walliman ha creado un interesante poster sobre la Ciencia de la Computación.  El poster es una genialidad que resume gráficamente una amplia variedad de temas como los Algoritmos, Lógica, Complejidad, Machine Learning, la mítica Máquina de Turing, Inteligencia Artificial, Realidad Aumentada y muchos otros de los temas que esta nueva ciencia abarca y en la cual es posible profundizar tanto como en cualquier otra ciencia.

El poster siempre va acompañado de un video donde explica con mayor detalle cada uno de los temas plasmados en la imagen.  No olvides cambiar los subtitulos al español.




Otros mapas igualmente interesantes.

Física
Física

Matemáticas
Matemáticas

Puedes ir directamente a la imagen en este link: https://www.flickr.com

O comprar su poster: https://www.redbubble.com


Pruebas




Los 10 lenguajes de programación más populares en 2017

La revista IEEE Spectrum ha publicado un ranking de lenguajes de programación basándose en al menos 10 fuentes en línea (Google Search, Google Trends, Twitter, GitHub, Stack Overflow, Reddit, Hacker News, CareerBuilder, Dice, IEEE Xplore Digital Library).  La lista incluye 48 lenguajes y han usado una combinación de 12 métricas que fueron seleccionadas por su creador el periodista de datos Nick Diakopoulus.  La diferencia de este ranking con respecto a otros más populares, es que han generado una gráfica interactiva con la cual es posible personalizar como se ponderan esas métricas.  Más información de su método en el siguiente enlace:

http://spectrum.ieee.org/ns/IEEE_TPL_2017/methods.htm



De acuerdo a trabajos más solicitados dominan los lenguajes Java, C, Python,C++ y JavaScript, en ese orden.

Los lenguajes con mayor tendencia son casi los mismos pero ahora es Python el que se encuentra dominando.

 

Es posible crear filtros por plataforma (Web, Mobile, Enterprise, Embedded). Les dejamos el vínculo al artículo original para que prueben ustedes mismos.

http://spectrum.ieee.org/