Pataconf es una iniciativa de
Colombia-dev.org
para promover diferentes comunidades de desarrollo de software en
Colombia. La idea era ofrecer charlas para todas las audiencias,
principiantes, intermedias y avanzadas.
En la imagen muestro las charlas que se ofrecieron para la edición realizada el 6 de octubre de 2016:
Security: Shared Key Generation - Elliptic Curve Diffie Hellman - @halzate93
- Cifrado caesar
"En criptografía, el cifrado César, también conocido como cifrado por
desplazamiento, código de César o desplazamiento de César, es una de las
técnicas de cifrado más simples y más usadas. Es un tipo de cifrado por
sustitución en el que una letra en el texto original es reemplazada por
otra letra que se encuentra un número fijo de posiciones más adelante
en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería
sustituida por la D (situada 3 lugares a la derecha de la A), la B sería
reemplazada por la E, etc. Este método debe su nombre a Julio César,
que lo usaba para comunicarse con sus generales." (Wikipedia)
- Encriptación de curva Eliptica
"La Criptografía de Curva Elíptica (del inglés: Elliptic curve
cryptography, ECC) es una variante de la criptografía asimétrica o de
clave pública basada en las matemáticas de las curvas elípticas. Sus
autores argumentan que la CCE puede ser más rápida y usar claves más
cortas que los métodos antiguos — como RSA — al tiempo que proporcionan
un nivel de seguridad equivalente. La utilización de curvas elípticas en
criptografía fue propuesta de forma independiente por Neal Koblitz y
Victor Miller en 1985."(Wikipedia)
enlaces de interés:
¿Que es la criptografia de curva eliptica?
Ejemplo de uso en el BITCOIN
Diseño de sistemas mediante contratos en Elixir - @epsanchezma
"El
diseño por contrato es una metodología para el diseño e implementación
de aplicaciones y componentes popularizada por el lenguaje de
programación Eiffel. Consiste en considerar los elementos de diseño como
participantes de una relación similar al contrato de negocios. Así, se
pueden diseñar los componentes asumiendo que se cumplirán ciertas
condiciones de entrada (pre-condiciones), mientras que se deberán
garantizar ciertas condiciones de salida (post-condiciones), así como la
invariante de clase (propiedades que se mantienen invariantes a pesar
del procesamiento realizado por el componente)." (
Wikipedia)
DBC (Design By Contract)
Lógica de Hoare
DBC vs Testing
Eiffel
Elixir
Según articulo de la revista de la Universidad Autónoma de Mexico(
http://www.revista.unam.mx):
"...
El diseño por contratos puede ser visto como la aplicación a la
construcción de software de los contratos que rigen los asuntos de las
personas. Cuando dos personas establecen un contrato se desprenden, de
éste, las obligaciones y beneficios de cada una. Este tipo de contratos
en software especifican, en forma no ambigua, las relaciones entre las
rutinas y los llamadores de las mismas..."
leer mas
0_o Profe, ¿y eso para qué sirve? - @earayo
Se
hablo de la forma como se aplican temas que vimos en la universidad en
el mundo real. La aplicación del álgebra lineal para la solución de
problemas, como ejemplo se explico como se trabaja con vectores y
matrices en el algoritmo del Page Rank de Google.
Se hizo el ejemplo(ver en
Github) con Clojure (
clojure.com, clojure.org) una muestra aproximada de como se implementa el Page Rank.
https://clojuredocs.org/
Dilo en Kotlin - @danielgomezrico
Presentando el lenguaje de programación
Kotlin que corre sobre la máquina virtual de Java (JVM).
Para probarlo h
ttps://kotlinlang.org/
Tutorial Koans
https://kotlinlang.org/docs/tutorials/koans.html
Gestión de energía usando hardware Open-Source - @jotathebest
IoT: El intenet de las Cosas
Big Data
Hardware Abierto
-
Arduino
-
Raspberry PI
-
NodeMCU basados en el ESP8266
Herramientas como
Ubidots
Así implementamos una Android app que podrá ser usada por millones de personas - @cdmunoz
Puntos a tener en cuenta al inicio de un proyecto en Android:
- Patrones de Diseño
- Escalabilidad
- Repositorios de Datos
- Reactive Programming
- Activities only or Fragments
- Backend an API integration
- Cual SDK usar
- En cuales dispositivos sera desplegado
- Material design
Initial Stack
- Dagger for dependency injection
- RxJava
- Butterknife
- Standar Android API
- Vectores drawables
- Activities and Fragments
- Standard Gradle
The Evolution
- Asynchronous images loading an chaching
- HTTP connections
- Mapping between API level and View Model
- Pimped Gradle
- Verbose Code
- UI optimizations
- Animations
- Continuous Integrations
- Custom UI components
- Feature flag
To
- Retrofit
- Picasso
- Mapstruct
- RxBindings
- Retrolambda
- gradle flavors
- Multidexing
- Calabash
- Transition everywhere
- Recyclerviews over Listview
- Jenkins and Concourse
Desarrollar con buenas practicas
- SCRUM
- preplanning
- planning
- Daily meetings
- Retrospective
- Technical analysis
- huddles
- Code reviews
- Learning sessions and android labs
- Instagram Style (Hacer que funcione, no importa como e ir mejorandolo)
Mesos is the answer - @scastillo
Pagina Oficial:
"...Apache Mesos abstracts CPU, memory, storage, and other compute
resources away from machines (physical or virtual), enabling
fault-tolerant and elastic distributed systems to easily be built and
run effectively..."
http://mesos.apache.org/
Otros enlaces:
"...
is an open-source cluster manager that was developed at the University
of California, Berkeley. It "provides efficient resource isolation and
sharing across distributed applications, or frameworks"..." (
Wikipedia)
"...Mesos
nos ofrece una capa de abstracción entre los servidores y los recursos,
es un concepto un poco diferente, pero a mi parecer cuando lo entiendes
me parece excepcioal. Por otro lado Mesos te proporciona una gestión de
cluster y como una una gestión de los recursos del cluster..." (
http://maauso.com/apache-mesos/)