January
- Estructura de la informació. UOC. (2nd time)
- Estructura i tecnologia de computadors. UOC. (2nd time)
February
- Working Effectively with Legacy Code, Michael Feathers
- La acabadora, (Accabadora) Michela Murgia
March
- Thinking in C++, Volume 1, 2nd edition, Bruce Eckel
- Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
April
- Midnight's Children, Salman Rushdie
May
- En el último azul, (Dins el darrer blau) Carme Riera
- El etrusco, (Turms kuolematon) Mika Waltari
- La soledad de los números primos, (La solitudine dei numeri primi) Paolo Giordano
- Teoria d'autòmats i llenguatges formals I. UOC.
- Estructura de computadors. UOC.
June
- White teeth, Zadie Smith
- Estructura de computadors. UOC. (2nd time)
- Teoria d'autòmats i llenguatges formals I. UOC. (2nd time)
July
- Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson and Vlissides
August
- The Mythical Man-Month: Essays on Software Engineering, Frederick P. Brooks
- Firmin, Sam Savage
Record of experiments, readings, links, videos and other things that I find on the long road.
Registro de experimentos, lecturas, links, vídeos y otras cosas que voy encontrando en el largo camino.
Friday, August 31, 2012
Monday, August 27, 2012
Interesting Talk: "Sustainable Test-Driven Development"
In this talk:
Sustainable Test-Driven DevelopmentSteve Freeman, one of the authors of Growing Object-Oriented Software Guided by Tests, explains how to write good tests that make development easier.
Sunday, August 26, 2012
Interesting Talk: "Who Ever Said Programs Were Supposed to be Pretty?"
I've just watched a talk by Brian Foote in which he wonders if clean or beautiful code makes sense in a bottom-line obsessed business world:
I think that it's full of common sense and it also describes a very real problem.
I think that it's full of common sense and it also describes a very real problem.
Saturday, August 25, 2012
Interesting Talk: "Test-Driven Development of Asynchronous Systems"
@remosu and I continue reading
Growing Object-Oriented Software Guided by TestsIn this talk, one of its authors, Nat Pryce, explains some techniques to test asynchronous systems:
Friday, August 24, 2012
Interesting Talk: "Does Pair Programming have to suck?"
Talk by Angela Harms about why pair programming can suck sometimes and how to aovid it:
Thursday, August 23, 2012
Wednesday, August 22, 2012
About Education and Learning
I found this post:
It also contains links to two great talks:
Here's why consistency is terribly overrated in corporate educationin The learning generalist blog very interesting and inspiring.
It also contains links to two great talks:
Articles and Posts read
Inspiring
Changing Pace
3D-Printed Magic Arms
Why Explore Space?
It’s Not Always “All Or Nothing”
Learning and software craftsmanship
Trivial
Craftsmanship and When Not To Refactor
Quiet: The Power Of Introverts In A World That Can't Stop Talking
A Critique of the Pomodoro Technique
Letting go of old strengths
A few comments on the Alan Kay interview, and especially patterns
Bicycle skills
La importancia de la práctica deliberada
Back To Basics #1 - Software Should Have Testable Goals
Software Apprentices Will Need Insights, Not Buzzwords
Computer Algorithms: Heap and Heapsort
Make Technical Debt Explicit
Functional Programming in 2012 … time to learn something more?
Test driving an event driven design
Software idioms
Sentences to ponder
Agile and Lean
Looking For Leaders In All The Wrong Places
Omitted activities
El fin del principio de autoridad
Entrepreneurship and Management
Programmer Moneyball
España no es país para autónomos
Si quieres saber cómo trabajo, pregunta a mis proveedores
Accountability
Developers held Accountable without Authority
Online books and courses
C/C++ Software Development with Eclipse
Functional Programming Principles in Scala
97 Things Every Software Architect Should Know
Developing Software in Spain
Memorias de un expatriado: sobre el futuro del sector informatico, la crisis continúa
Get that job at Google
Get That Job at Facebook
Spain and Europe
¿Hora de hacer las maletas? Un repaso a las oportunidades que hay fuera
Reformas y recortes educativos: una evaluación muy preliminar
El paro sigue al alza en Andalucía y Canarias pese al turismo
La solución de Alemania para acabar con el paro: salarios de 400 euros
No todas las familias españolas se endeudaron; ni lo hicieron al mismo nivel, ni para los mismos propósitos.
El éxodo de médicos y enfermeras se duplica por los recortes sanitarios
En la mente del corrupto
Esclavos
España debe salvarse a sí misma
Changing Pace
3D-Printed Magic Arms
Why Explore Space?
It’s Not Always “All Or Nothing”
Learning and software craftsmanship
Trivial
Craftsmanship and When Not To Refactor
Quiet: The Power Of Introverts In A World That Can't Stop Talking
A Critique of the Pomodoro Technique
Letting go of old strengths
A few comments on the Alan Kay interview, and especially patterns
Bicycle skills
La importancia de la práctica deliberada
Back To Basics #1 - Software Should Have Testable Goals
Software Apprentices Will Need Insights, Not Buzzwords
Computer Algorithms: Heap and Heapsort
Make Technical Debt Explicit
Functional Programming in 2012 … time to learn something more?
Test driving an event driven design
Software idioms
Sentences to ponder
Agile and Lean
Looking For Leaders In All The Wrong Places
Omitted activities
El fin del principio de autoridad
Entrepreneurship and Management
Programmer Moneyball
España no es país para autónomos
Si quieres saber cómo trabajo, pregunta a mis proveedores
Accountability
Developers held Accountable without Authority
Online books and courses
C/C++ Software Development with Eclipse
Functional Programming Principles in Scala
97 Things Every Software Architect Should Know
Developing Software in Spain
Memorias de un expatriado: sobre el futuro del sector informatico, la crisis continúa
Get that job at Google
Get That Job at Facebook
Spain and Europe
¿Hora de hacer las maletas? Un repaso a las oportunidades que hay fuera
Reformas y recortes educativos: una evaluación muy preliminar
El paro sigue al alza en Andalucía y Canarias pese al turismo
La solución de Alemania para acabar con el paro: salarios de 400 euros
No todas las familias españolas se endeudaron; ni lo hicieron al mismo nivel, ni para los mismos propósitos.
El éxodo de médicos y enfermeras se duplica por los recortes sanitarios
En la mente del corrupto
Esclavos
España debe salvarse a sí misma
Tuesday, August 14, 2012
Ports and Adapters
In Growing Object-Oriented Software, Guided By Tests its authors explain how they grow systems a slice of functionality at a time. As the code scales up, they need to structure the functionality so they can continue to understand and maintain it. They use two principal heuristics to guide this structuring:
These are the links I'm reading to find out what this "ports and adapters" (or hexagonal) architecture is about:
- Separation of concerns.
- Higher level of abstraction.
These are the links I'm reading to find out what this "ports and adapters" (or hexagonal) architecture is about:
Interesting Talk: "Fractal TDD: Using tests to drive system design"
@remosu and I are currently reading the book:
So far, I've found that their approach to TDD and end-to-end tests and their ideas about object-oriented design are really interesting.
I've just watched this great talk:
in which one of the authors of the book, Steve Freeman, comments several of the ideas in the book and his experiences applying them in big projects.
PS: I posted about another Steve Freeman's talk some time ago.
Growing Object-Oriented Software, Guided By Testsby Steve Freeman and Nat Pryce.
So far, I've found that their approach to TDD and end-to-end tests and their ideas about object-oriented design are really interesting.
I've just watched this great talk:
in which one of the authors of the book, Steve Freeman, comments several of the ideas in the book and his experiences applying them in big projects.
PS: I posted about another Steve Freeman's talk some time ago.
Wednesday, August 8, 2012
Articles and Posts read
Learning and software craftsmanship
Software Development and Security
SOLID by example
Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"
Success Criteria
Your Coding Philosophies are Irrelevant
Another argument in favour of TDD
Ten Commandments of Object Oriented Design
Beyond Test Driven Development
Testing with Mocha
Visualizing recursion
«No intentes hacer lo que no dominas»
Game Developers: Remember Priority #1
The less the code, the better
Books hold most of the secrets of the world.."
La cultura de la distracción
Software albatross
Your job is trivial. (But I couldn’t do it.)
How not to go insane while working from home
Old school developers - achieving a lot with little
How GOF Brought my Understanding of Object Orientation to Another Level
C++
C preprocessor tricks
PostgreSQL
PostgreSQL Rising
Agile and Lean
The Art of Agile Development: Pair Programming
Definition of Done and Acceptance Criteria
The art of misdirection
Late Night Thoughts On "It Works For Me"
Retrospective Principles
Goals of a Retrospective
The Wrong Impression about Retrospectives
Entrepreneurship and Management
¿Cómo está el panorama de desarrollo de aplicaciones móviles actual? el informe Developer Economics 2012 nos da algunas pistas
Your Operational Configuration
Science
Cheetah, el robot guepardo de Boston Dynamics capaz de correr casi a 30 km/h
¿Qué importa más en la carrera académica, los conocimientos o los conocidos? (segunda parte)
Proponen un detector de materia oscura direccional basado en ADN
Mixed Signals: Smart Phone Sensors Recruited to Deliver Indoor GPS
En 2014 toda la investigación financiada con dinero de la UE deberá ser de acceso abierto
La Comisión Europea apoya el acceso libre a los resultados de investigación científica
Education
Teaching is a Form of Compression
Developing Software in Spain
#debate10: Una oportunidad para una nueva cultura
Maldito el pais que necesita heroes
Spain and Europe
Sobre el retraso económico de España y el libro de Acemoglu y Robinson (Una respuesta de Regina Grafe)
Why are Germans So Stubborn? de Uwe Reinhardt, Princeton
Primero, los deberes nacionales
Pobre puede ser cualquiera, o casi
Ya somos griegos
Software Development and Security
SOLID by example
Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"
Success Criteria
Your Coding Philosophies are Irrelevant
Another argument in favour of TDD
Ten Commandments of Object Oriented Design
Beyond Test Driven Development
Testing with Mocha
Visualizing recursion
«No intentes hacer lo que no dominas»
Game Developers: Remember Priority #1
The less the code, the better
Books hold most of the secrets of the world.."
La cultura de la distracción
Software albatross
Your job is trivial. (But I couldn’t do it.)
How not to go insane while working from home
Old school developers - achieving a lot with little
How GOF Brought my Understanding of Object Orientation to Another Level
C++
C preprocessor tricks
PostgreSQL
PostgreSQL Rising
Agile and Lean
The Art of Agile Development: Pair Programming
Definition of Done and Acceptance Criteria
The art of misdirection
Late Night Thoughts On "It Works For Me"
Retrospective Principles
Goals of a Retrospective
The Wrong Impression about Retrospectives
Entrepreneurship and Management
¿Cómo está el panorama de desarrollo de aplicaciones móviles actual? el informe Developer Economics 2012 nos da algunas pistas
Your Operational Configuration
Science
Cheetah, el robot guepardo de Boston Dynamics capaz de correr casi a 30 km/h
¿Qué importa más en la carrera académica, los conocimientos o los conocidos? (segunda parte)
Proponen un detector de materia oscura direccional basado en ADN
Mixed Signals: Smart Phone Sensors Recruited to Deliver Indoor GPS
En 2014 toda la investigación financiada con dinero de la UE deberá ser de acceso abierto
La Comisión Europea apoya el acceso libre a los resultados de investigación científica
Education
Teaching is a Form of Compression
Developing Software in Spain
#debate10: Una oportunidad para una nueva cultura
Maldito el pais que necesita heroes
Spain and Europe
Sobre el retraso económico de España y el libro de Acemoglu y Robinson (Una respuesta de Regina Grafe)
Why are Germans So Stubborn? de Uwe Reinhardt, Princeton
Primero, los deberes nacionales
Pobre puede ser cualquiera, o casi
Ya somos griegos
ETIS en la UOC: Asignaturas del pasado semestre
Hace ya unos meses hablaba del nuevo semestre que comenzaba en ETIS en la UOC. Ahora que terminó el semestre y tengo un poco más de tiempo, llegó el momento de hacer una retrospectiva y de analizar las asignaturas.
De nuevo, tuve que dejar una de las asignaturas, Matemàtica Discreta, porque entre el trabajo y los pet projects que estoy haciendo con @remosu no me dió tiempo de seguirla. Aunque ya en mi anterior retrospectiva había llegado a la conclusión de que mi límite estaba en 15 créditos por semestre, en el último momento me dejé llevar por un impulso y cogí tres asignaturas pensando que podría con todo. Fue un error.
En el lado positivo, este semestre saqué de nuevo matrícula de honor en dos asignaturas. Estas son mis impresiones sobre estas dos asignaturas:
De nuevo, tuve que dejar una de las asignaturas, Matemàtica Discreta, porque entre el trabajo y los pet projects que estoy haciendo con @remosu no me dió tiempo de seguirla. Aunque ya en mi anterior retrospectiva había llegado a la conclusión de que mi límite estaba en 15 créditos por semestre, en el último momento me dejé llevar por un impulso y cogí tres asignaturas pensando que podría con todo. Fue un error.
En el lado positivo, este semestre saqué de nuevo matrícula de honor en dos asignaturas. Estas son mis impresiones sobre estas dos asignaturas:
- Teoria d'autòmats i llenguatges formals I Esta asignatura me la habían recomendado varios compañeros de trabajo, y tenían razón, es muy bonita. Me costó entender algunas partes del temario, y tuve que dedicarle mucho tiempo. Aún habiendo obtenido buenos resultados, creo que todavía no acabo de entender del todo bien algunos conceptos de la asignatura.
El temario de TALF I es bastante corto pero no se la debe subestimar por ello, ya que en ella se ven conceptos que lleva su tiempo entender. Creo que el camino se allana bastante si se consigue aprobar la evaluación contínua porque, en ese caso, el temario que entra en la Prueba de Validación se limita a los temas que entraron en las PACs: aproximadamente un 80% del temario de la asignatura. Ir al examen final es más complicado porque entra el 100% del temario y algunas partes son bastante duras.
Para hacer las PACs usé sólo el material de la asignatura, que es un poco escaso, y un montón de horas. Supongo que si hubiera mirado PACs y/o exámenes de años anteriores me hubiera ayudado. En cada PAC ponía que el tiempo estimado de realización eran tres horas, pero para algún apartado de la segunda PAC (el de gramáticas) me pasé más de 5 horas... No hay que agobiarse porque la cosa mejora con la práctica. Antes de hacer la PV, ya era capaz de resolver rápidamente ejercicios similares a los de las PACs.
Para preparar la PV me lei de nuevo toda la teoria. Este repaso general me sirvió para acabar de entender cosas que no había comprendido bien cuando hice las PACs. Después hice todos los ejercicios de autoevaluación relacionados con los temas que habían salido en las PACs e hice unos cuantos exámenes (sólo los problemas relacionadas con las PACs). Esto me llevó unos tres días y medio (no tenía más).
- Ampliació d'estructura i tecnologia de computadors
Esta asignatura es la continuación de Estructura i tecnologia de computadors. Tiene dos PACs y dos prácticas, una obligatoria con la que puedes conseguir hasta un 70% de la nota práctica, y otra opcional con la que puedes conseguir lo que falta para el 100%.
El tema que me fue más útil para el trabajo fue el estudio de la jerarquía de memoria, y en especial de la memoria cache. Los materiales de la asignatura están disponibles en el OCW de la UOC
Las prácticas consistieron en escribir programas con partes escritas en ensamblador y partes escritas en C. A partir de cosas que aprendí resolviéndolas salieron varios posts de este blog (este, este y este). Si quieres ver el código de las prácticas, está publicado aquí y aquí.
Los profesores colgaban cada semana ejercicios teóricos y prácticos que había que resolver en unos 5 días. Si uno tiene tiempo, está muy bien hacerlos porque vas desarrollando poco a poco los conocimientos que necesitas para hacer las PACs y las prácticas. Yo no hice ninguno de los ejercicios porque no tuve tiempo, con lo que, luego tuve que hacer las PACs y prácticas a contrarreloj.
Para preparar el examen, rehice todos los ejercicios de las PACs, hice los ejercicios teóricos semanales y miré algunos exámenes de años anteriores. También repasé la solución oficial de las prácticas.
La asignatura no es muy difícil, quizás, lo más complicado es cogerle el truco al ensamblador.
Subscribe to:
Posts (Atom)