The Curious Engineer

All blogs / Software / engineering practice

Marco Dorantes' WebLog

learn.microsoft.com/en-us/archive/blogs/marcod

"Computer science is no more about computers than astronomy is about telescopes" -Edsger W. Dijkstra

Software / engineering practiceEssays / personalC# / .NETMicrosoft blogsMSDN archive

’05’10’15’20’25
Posts
228 from 19 Feb 2004 to 11 Aug 2018
Posting
archived, read-only
Kind
personal blog
Feed
https://learn.microsoft.com/en-us/archive/blogs/marcod/feed.xml

2018 5

  1. Gerald M. Weinberg
  2. Reading and digesting classical authors
  3. After 18 years posting
  4. Beauty
  5. Thought and direct experience

2017 2

  1. «IT Doesn’t Matter» reloaded
  2. The growth of a feature - Twelve years later

2016 1

  1. Art vs Work

2013 8

  1. Blog change
  2. Reflective developer
  3. Aesthetics in software design
  4. Inspiration for test-driven design?
  5. Egoless architecture
  6. Good programming styles
  7. Empirically controlled?
  8. Further steps in theoretical groundwork for software development

2012 4

  1. Architecture and empowerment
  2. Measure of trust
  3. Dark Manifesto for Agile Software Development. Take 2
  4. Dark Manifesto for Agile Software Development

2011 5

  1. Sugar-free C# – Part 2: Iterators 1
  2. Sugar-free C# – Part 1: Introduction
  3. Is all of software engineering dead?
  4. To what degree it is my ignorance?
  5. Being wrong

2010 14

  1. Creative thinkers and science
  2. Which Science?
  3. Watts S. Humphrey
  4. What does it mean to get an Agile certification?
  5. Good intention alone
  6. Software development process is about flow
  7. Microsoft Application Architecture Guide, 2nd Edition
  8. Debate is welcome in adaptive thinking
  9. The Zen of Architecture
  10. Una introducción al pensamiento crítico
  11. The Design of Design: Essays from a Computer Scientist
  12. Working on software theory
  13. What is agile development?
  14. More on the C++ mindset

2009 14

  1. Human-oriented software design is error-oriented
  2. My Technical Readiness
  3. Product owner
  4. Writing
  5. SQA — Are you–really–making sure that quality is present?
  6. Philosopher
  7. Where are we -as industry- about delivering business value to customers?
  8. Is there such a thing like a method of design?
  9. Central piece of code as a cornerstone for a tool
  10. The importance of doubt in software design
  11. LINQ Samples
  12. Know your design tools — The Singleton case
  13. An artistic -as in skillful- programming excellent textbook
  14. The practical disproportion

2008 21

  1. Agile and lean fads are the new excuses for brittle software
  2. A way to specify behavior
  3. Faculties offer courses and lectures freely
  4. Adaptive Methods for reality
  5. A lawful name for a profession
  6. Most of people around are not doing eXtreme Programming, should I try it?
  7. Paving the history of our trade
  8. The new hells have been nurtured, by now they are alive and well
  9. The interplay of art and science in software
  10. Who is an architect?
  11. What do we –really– mean by 'coding'?
  12. What the role of an architect really wants to be?
  13. Should an architect code?
  14. Update on what is software development -art or science- debate
  15. Belief and behavior
  16. The "What's coming after X?" question
  17. Learning items in software development
  18. Message to the whole body of management teams in software industry
  19. Software design skill and implementation details
  20. Stepping into base class libraries of .NET Framework while debugging
  21. Is there any argument against beautiful code?

2007 26

  1. Time-bound and context-bound code
  2. Team efficiency and division of labor
  3. Trait of an agile environment: planning-oriented developers
  4. Software architecture is much more than structure
  5. Trait of an agile environment: business people who care their project
  6. Executable design notations: Standard C++, Smalltalk and LISP
  7. The Problem with Programming and the second part of The design and evolution of C++
  8. Una introducción a la ciencia - Pensamiento científico y el método científico
  9. Critical thinking and software design
  10. ‘The real world’ – an update
  11. The way to go fast, is to go well, going well is to be knowledgeable
  12. Empirical process control
  13. COM+ object per client model
  14. Peter Provost on TDD
  15. Traits of an agile environment
  16. Trait of an agile environment: disciplined design work
  17. Trait of an agile environment: rock solid architecture
  18. Trait of an agile environment: inspect frequently and adapt
  19. Execution order between base and derived inline instance field initializers
  20. Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software
  21. What type of person should design software?
  22. Analog Computers. Could I sometime put my hands on one of those?
  23. Enabling better levels of multi-paradigm design adoption
  24. Designing distributed server-side Windows applications that scale very well
  25. Software design epistemology and The Three Pigs
  26. Do you amass nasty feelings about your designs?

2006 39

  1. Essence of process improvement: closed-loop feedback
  2. You can have joy even if you do not have fun
  3. “Why do I have to turn off parts of myself to work here?”
  4. People, people…all the important things are about people, of course
  5. CMMI and Agile are just not comparable
  6. Philosophies of computer programming are closer than they appear
  7. What are programs?
  8. Essence of good design: underlying abstractions
  9. The Problem with Programming – Interview with Bjarne Stroustrup
  10. Recursive functions
  11. Outstanding articles on splendid subject matters
  12. Learning feels good, understanding feels yummy
  13. Anonymous method trivia
  14. A more efficient iterator pattern implementation since C# 1.0
  15. What are pointers?
  16. Science/engineering or art/craft - Does it matter at all?
  17. Designing a software service interaction using WSE 3.0
  18. The attention where it belongs (and it is not in the marketing hype)
  19. The Underlying Theory of Project Management is Obsolete
  20. The source of many design and programming problems: unchecked assumptions
  21. "Look, this also is very important..."
  22. Theory and practice complement each other well
  23. A test-driven design style for database-based applications with VSTS
  24. Designing scalable systems
  25. Running a software company
  26. Agile mindset: pigs or chicken
  27. An embryonic profession: poor and misleading ways of formalisms
  28. Reflecting in action: programming other algorithms
  29. Reflecting in action: programming simple algorithms
  30. A basic and focused utility to send SQL statements with ADO.NET
  31. Argument processing and C# 2.0 iterators
  32. Dependency management: Coupling and cohesion
  33. Dependency management with CLR Assemblies and Types: Relationships
  34. Professional testing = Applied epistemology
  35. How MDA could not be just another CASE fallacy?
  36. Pillars of our trade
  37. Concurrency concepts now, more than ever before
  38. You are 100% accountable for your source code
  39. Taking software engineering seriously

2005 54

  1. John Vlissides
  2. Skillful software design and the scientific method
  3. Helping others with software design
  4. Code is model - it depends on the code, of course.
  5. CLR v2.0 Array.ForEach and List.ForEach
  6. I like it even more!
  7. I like it!
  8. People-oriented
  9. The growth of a feature
  10. Traincraft manifesto
  11. Great art and the craft of software development
  12. How a software service code looks like? A design snapshot
  13. How a software service code looks like? A design snapshot
  14. UML 2.0 general purpose utopia or DSL handy alternative?
  15. Formulating software
  16. String trim with ISO C++
  17. "If you are not doing Proof-Driven Design..."
  18. Performance and Throughput, terms I need to know well
  19. The old new Asynchronous JavaScript and XML programming (AJAX)
  20. Basic mechanism for "WAP Push" notification application with Exchange Server 2003
  21. "Often the result of good design is to cut the feature"
  22. Java Generics Considered Harmful
  23. It's a good time to be a developer
  24. The power of simplicity
  25. Silicon photonics will be everywhere
  26. Valuable shortcut keys
  27. If UML is the answer, not many people are asking the question
  28. Software design talk: Do you mean methods or operations?
  29. You know what they say: Service-orientation is not something new
  30. How to increase quality of software solutions to business problems?
  31. What “The Real-World” really mean...to you?
  32. Test-driven design entails a different mindset than validation and verification testing
  33. Strategic design decisions in software architecture –a reflective practicum
  34. What a wonderful and fulfilling experience this of pair programming
  35. Organic and evolutionary software design – a metaphor
  36. In control of software architecture and design assets
  37. A more useful analogy to understand C# mindset
  38. C# front end destructors vs generated CLR code
  39. The code wants to go somewhere, listen
  40. Unconscious design defined
  41. The need of a coherent, intelligible and complete software design method, as the veteran Booch Method
  42. Is source code really the actual design of a software product?
  43. A Maturity Reference Model or Advice for Software Development Managers
  44. Crystal Clear:A Human-Powered Methodology for Small Teams by Alistair Cockburn
  45. Microsoft Word 2003 – one XML InfoSet, a Microsoft Word 2003 rendition
  46. Microsoft Word 2003 – one XML InfoSet, many renditions
  47. Microsoft Word 2003 – one XML InfoSet, many renditions
  48. Theoretic physics vs. programming. Which is more challenging?
  49. Software Pioneers in general, a software quality view in particular
  50. The people factor - The resistance to ideas is positive and vital
  51. Reminder for the agile practitioner: Management-Aided Software Engineering
  52. UML 2.0 Infrastructure feedback
  53. A next level of consciousness
  54. Reflections on software design profession – introductory thoughts

2004 35

  1. Is software engineering what professional programmers do?
  2. Software engineering is not, yet
  3. Handbook of Software Architecture
  4. Simple XML Schema Definition snippet - hierarchy
  5. Simple XML Schema Definition snippet
  6. C++ as a very good medium for multi-paradigm design expression
  7. What use good designers to convey good designs?
  8. Good designs come from good designers, good designers come from...
  9. The path to architecture practice – overview
  10. Modern business rules specification
  11. Architecture is not about scalability, not even about user, it is all about usage
  12. The engineering in software development – trails of design mastery
  13. Job security – it is up to us
  14. Grand Challenges for software development
  15. Wicked problems, righteous solutions
  16. The Professor Edsger Wybe Dijkstra school of thought
  17. Re-positioning of original intent, purposes and scope of OO among SOA benefits
  18. Does SOA imply that OO is dead?
  19. Disciplined development and methodology
  20. Help with misconceptions about eXtreme Programming
  21. Improve our industry!
  22. Ward Cunningham and Jim Newkirk on Channel9
  23. Culture
  24. MSF v4.0 and agile development
  25. TDD, dynamic languages and object design
  26. A classical abuse of object orientation: Modeling the real world
  27. it is the people, as always has been
  28. Note about Pair programming opinion (in Spanish)
  29. General disclaimer we all already know
  30. Design paradigms marginalization
  31. Job security
  32. We do interiorize software concepts by practice
  33. Including Common Intermediate Language to your .Net designer toolbox – generating CIL
  34. Including Common Intermediate Language to your .Net designer toolbox - the beginning
  35. Abstraction stacks and multi-paradigm software design