Translate

domingo, 12 de abril de 2015

RethinkDB, la revolución de NoSQL


RethinkDB es una base de datos que desde Sillicon Valley está revolucionando el mercado en el mundo de bases de datos no relacionales o NoSQL.

RethinkDB es una base de datos orientada a documentos (usando el formato JSON), el lenguaje de consulta que utiliza el motor es ReQL, siendo este lenguaje muy intuitivo comparado con SQL y Javascript en MongoDB.

Entre sus características, podemos nombrar:

  • Soporte a Join en documentos.
  • Dashboard web integrado, al estilo de CouchDB pero optimizado para la administración de las bases de datos y el servidor.
  • Tiene soporte para callback al cambiar un documento, devolviendo el último cambio.
  • Fácil escalamiento horizontal.
  • Soporte para Docker.

Que se debe enseñar en la facultad?

Este post es solo una opinión personal y es también un ámbito de discusión madura.

Hablando con alumnos en la facultad me preguntaron por que no se dicta una materia donde se explique como desarrollar de forma rápida con una plataforma tipo rails o play o grails.

Lo que les conteste es que es peligroso que la facultad enseñe estas herramientas, primero porque si te enseñan a utilizar muy bien un martilla vas a ver a todo como un clavo. Segundo porque lo que debe darte la facultad son los conceptos, pero para afianzar los conceptos normalmente usa herramientas, pero siempre el objetivo son los conceptos.

Para hacer más didáctica mi punto de vista les explique:
Supongamos que hacen la facultad para desarrollar software de calidad. Por lo tanto su objetivo es hacer software, para llegar a ese objetivo van a tener que saber conceptos y utilizar herramientas:




La facultad brinda los conceptos y algunas herramientas para que el alumno pueda profundizar solo lo que más le guste.

Un error es pensar que la facultad debe enseñar herramientas, y es una tentación para los profesores ya que los alumnos se entusiasman más. Pero es problema es que saber herramientas sin tener una base hace que hagamos las cosas mal o que nuestro conocimiento sea muy frágil. Al vez nos volvemos esclavos de las herramientas.

A la vez el alumno por lo general no estudia conceptos base por sus propios medios, solo estudia herramientas. Por lo tanto es muy difícil revertir esta situación.



Como se ve en el gráfico, si se enseñan pocos conceptos la estructura cognoscitiva no es del todo firme y tampoco se puede construir a partir de algo así.

En conclusión los conceptos son necesarios y se deben dictar antes que las herramientas.

miércoles, 8 de abril de 2015

Mono adopta librerías .net (de Microsoft)


Como lo leen, Mono decidió sustituir librerías por librerías open source de Microsoft.
La pregunta es: para que mono va a trabajar en librerías que Microsoft libero? Y claro!! Lo más coherente es simplemente utilizarlas y esto hizo Mono.

Los siguientes namespaces fueron remplazados:

  • System.Collections
  • System.Collections.Concurrent
  • System.Collections.Generic
  • System.Collections.Specialized
  • System.ComponentModel
  • System.ComponentModel.Design
  • System.Diagnostic.Contracts
  • System.Linq
  • System.Linq.Parallel
  • System.Text.RegularExpressions
  • System.Runtime.CompilerServices
  • System.Threading.Tasks

Dejo link: 

Nuevos cursos en EDX

Hace tiempo que vengo publicitando los cursos de Edx, solo porque pienso que están muy buenos, les dejo los cursos:

New Coding Skills Just A Click Away
Introduction to Java Programming – Part 1 – HKUSTx – April 6th 
Introduction to Java Programming - Part 1
Build your programming skills and solve real world problems in Introduction to Java Programming. Learn to write programs to produce three-dimensional images, to analyze documents using character recognition, to generate fractal images and more.

Learn HTML5 from W3C  – W3Cx – June 1st
Learn HTML5 from W3C
Take your web development skills to the next level in this free course from the experts at the World Wide Web Consortium (W3C) who developed HTML5. Learn to create interactive websites and build experiences across mobile devices and gaming consoles using the world's most popular front end coding language. 

Introduction to Programming with Java – UC3Mx – April 28th
Electrical, Optical, and Magnetic Materials and Devices
Learn the basics of the Java programming language and prepare for the Advanced Placement (AP) Computer Science A exam. This introductory course will cover powerful concepts like functional abstraction and object encapsulation, as well as explain how to use APIs of some of the most common Java classes. 

Windows PowerShell Fundamentals – Microsoft – April 14th
Windows PowerShell Fundamentals
Invest in your career. Develop your cloud computing management skills inWindows PowerShell Fundamentals taught by the experts at Microsoft. This course is a perfect professional development course for system admins, script writers, server operators or anyone involved in managing windows servers who want to learn to how to automate manual, repetitive and time-consuming operations across tens, hundreds or even thousands of machines.

domingo, 5 de abril de 2015

La curva de aprendizaje de los lenguajes

Como me reí con estos gráficos, 100% reales!!







Dejo link:



5 formas en que puedes contribuir al software libre (Además de donar)

Quiero compartir este post dado que coincido plenamente. Normalmente se cree que es imposible colaborar con el software libre pero es bastante fácil. Utilizándolo e informando errores, es el camino más fácil.

Dejo link:
http://www.technodyan.com/como-colaborar-software-libre/

viernes, 3 de abril de 2015

Networking & Troubleshooting for Dummies

Quiero recomendarles el libro "Networking & Troubleshooting for Dummies" que se puede descargar de forma gratuita de dzone.


Dejo link:
http://library.dzone.com/whitepapers/networking-troubleshooting


domingo, 29 de marzo de 2015

Apache Groovy

Lo que se anuncio en el blog ya es realidad: Groovy es un proyecto que se encuentra en la incubadora de Apache Fundation.

El nombre "Apache Groovy" le queda muy bien.

Recordemos que Groovy es un lenguaje de la plataforma Java que tiene la característica de ser de tipado dinámico, lo que lo hace muy parecido a Ruby o Python. Y tambien recordemos que Apache lo utiliza en un par de proyectos:

Que piensan? Es beneficioso para Groovy ser de Apache?

Dejo link: http://incubator.apache.org/projects/groovy.html

jueves, 26 de marzo de 2015

Crear un usuario y repositorio en bitbucket

Git es un software para realizar control de versiones, es decir con GIT podemos trabajar con el mismo archivo de forma concurrente y luego podemos mergear (generar una sola versión de varios cambios)

Antes que nada bajamos la versión de windows de GIT del siguiente link y lo instalamos.
http://git-scm.com/

Bitbucket es un repositorio Git en la nube con las ventajas que trae esto, similar a GitHub.

Luego vamos a bitbucket y creamos un usuario:
https://bitbucket.org/


Luego de crear el usuario vamos a crear un repositorio, para ello vamos a repositories → create repository y llenamos los datos del nuevo repositorio :


Luego presionamos “create repository”.

Ahora vamos a clonar el repositorio que lo que nos va a permitir luego subir el código. Para ello en la pagina ponemos clonar y nos va a indicar el comando para clonar, en este ejemplo es :

git clone https://alumnoprogfun@bitbucket.org/alumnoprogfun/progfun.git




Ejecutamos este comando desde git bash; con este comando bajamos el repositorio como el repositorio esta vacío, solo se descargan archivos ocultos que describen el repositorio.

Ahora debemos configurar le repositorio, para ello debemos ejecutar el siguiente comando que nos identifica:

git config --global user.email tunombre@example.com

Se pueden configurar más cosas ver link: http://git-scm.com/book/es/v1/Empezando-Configurando-Git-por-primera-vez pero con el mail es suficiente en este caso.

Luego debemos setear el branch, nosotros utilizamos un solo branch y es el master. Este branch es el principal. Ejecutamos el siguiente comando:

git branch --set-upstream-to origin/master

Por ultimo vamos a subir un archivo, creamos el archivo con el siguiente comando

echo “hola” >> eje.txt

Agregamos el archivo a la lista de archivos a subir:

git add *

Con el * le decimos que agregue todo, lo que va a agregar los archivos nuevos.

git commit -m “primer commit”

Con commit subimos los archivos al repositorio y con el parámetro -m agregamos un comentario

git push

Con push le decimos a git que suba lo que esta en nuestro repositorio interno.

Para verificar que se subió podemos ir a la pagina y ver el commit:  



miércoles, 25 de marzo de 2015

Con Ustedes Gnome 3.16

He criticado mucho a Gnome, dado que su idea de minimalismo era quitar funcionalidad. Pero esto fue cambiando y eso lo demuestra esta versión.

Dejo video:



Dejo link: 

Try SQL


Codeschool creo un nuevo curso gratuito sobre Sql. Esta muy bueno y es muy simple. Como para empezar y divertirse.

Dejo link:
http://campus.codeschool.com/courses/try-sql/contents

sábado, 21 de marzo de 2015

Bootstrap 3, el manual oficial



Quiero compartir el manual oficial de bootstrap 3 y en castellano!!

Y que más decir, a disfrutar.

Dejo link: http://librosweb.es/libro/bootstrap_3/

miércoles, 18 de marzo de 2015

Cursos de Edx

Me llego un mail de Edx y me sorprendí gratamente y mucho por los buenos temas, les dejo una reseña:
Academic and Business Writing
Programming with C#  – Microsoft
Accelerate your career – learn from the experts at Microsoft and master the most widely used programming language for .NET technologies and services. Programming with C# will teach you the foundation of object-oriented programming and enable you to develop on the Microsoft platform, as well as on Android, Linux and iOS devices.
 
Sign Up For Free
Design and Development of Games for Learning
Design and Development of Games for Learning
MITx
Build your own educational game in this project based course.
April 1, 2015
Enroll Today
Introduction to Programming with Java - Part 1
Introduction to Programming with Java - Part 1
UC3Mx
Learn to program the easy and interactive way.
April 28, 2015

Enroll Today

Dejo un link de Edx: https://www.edx.org/

Queres aprender R ? toma!!!!

Les dejo un link que es más que interesante, en este post se nombran libros gratuitos, tutoriales y cursos sobre R.

Dejo link:
http://ucanalytics.com/blogs/learn-r-12-books-and-online-resources/