// archives

Programming

This category contains 26 posts

OCL->forAll(pre and post)

As I pinned some days ago I am very interested in verification and validation methods. While thinking in preconditions, invariants and stuff OCL came to my mind and I started diving the web looking for a OCL parser and I found an OCL ANTLR grammar: http://www.cs.columbia.edu/~akonstan/ocl/ Benjamin (HP workmate) pointed me to an Java/C++ parser [...]

Eclipse & refactoring

After speding a couple of hours talking to Pablo about computer related stuff I realized the impact of refactoring in the way of people code and how it is going to be related with tools like Eclipse. I have been interested in this field for a year and I am becoming more and more. Some [...]

Essential Software Engineering Quotes

“[...]testing is done throughout a development effort and is not just an activity tacked on at the end of a development phase to see how well the developers did.” “No amount of testing will improve the quality of a computer program.”

C++ and std lib fight

After spending almost a day debugging a memory leak which drove my app to crash I found the problem was with a vector variable. It was not possible to free its memory with the proper destructor var.~vectorit always crashed in ntdll. Does anyone know anything about it? The fix was to use Type *a = [...]

Design by contract in C++

Since I were tought about Bertrand Meyer’s Eiffel and its nice feature of design by contract I got interested in validation and verification of systems. Since most of the code I write is in C, C++ or even Java, I have looked for elegant ways of including contracts in C & C++. Next is what [...]

wxWindows tricks: observer pattern

Implementing a observer (publish-subscriber) pattern for drawing bussiness data on GUI is bit tricky since you are out of the event loop so the GUI will not be refreshed till the application return to this loop. To make a windows refreshes out of the event loop wxWindows offer ::wxSafeYield() which flushes events suchs as paint [...]