Skip to main content

Posts

5 Tips to work with legacy code

As engineers, we like to move things forward and, for those who have a little bit of experience (like me), having to work with legacy code can be a huge set back because we know it can be long, painful and slow-paced. But you don't have to make it harder that it needs to be for you and your team! Below are some common mistakes that occur when working with legacy code and possible ways to overcome them. 1. Should you really use it? That's probably the first and foremost question. Is it really necessary for your application to tap into this legacy code? Have you done extensive researches to see if there isn't a more modern library out there, with better licensing, design, architecture, library initialization, newest code features, documentation, unit tests, whatever than this old piece of code which is on your shelves? In case there is, ponder with caution the possible consequences of any choice, using as many criteria that you care for! Remember that this is an important cha
Recent posts

Why not blogging?

Observation I am terrible at keeping things going.  And this blog is no exception. I realized my latest entry was  8 years old. Shame!  Now, I am wondering why I even wanted to start this blog in the first place. But what's more important now for me is: why would I continue and commit entries in this blog right now? For what purpose ?  Why ? The answer came up straight for me.  I want to make this blog a way to  share  my own experience to a broader audience than my own little circle.  With the motivation that it might just help someone. For who? Someone who is like my younger self and who just might benefits from the knowledge of a more experienced one. But this may be misinterpreted as 'when you grow older you get wiser' which we all know is not exactly true [sarcastic laugh].  Sharing my own experiences, good or bad, my struggles or successes with technology, science, management, colleagues, creativity etc... might just help somebody! That's a powerful motivation

Robust Stable Objects Deformation

In this entry, I'll briefly speak about computing robustly the deformation on a given object represented by a Finite Element mesh. There are a handful of methods to do that more or less robustly, and I'll just discuss them, with a speaking a little bit about their distinctive aspects. Classic lagrangian formulation The most used one in industrial commercial packages (like abaqus, ansys, etc). This is simply a linearization of Green-Lagrange strain tensor and deriving it to get the proper residual and stiffness matrix from one single Newton step. This method is absolutely rigourous, meaning that as long your mechanical behavior is well captured by the strain model  you'll get reliable results. However it has two main drawbacks: first you have to be careful when applying new forces or constraints and do it incrementally otherwise you may really blow up your model. For instance applying too much force will cause some elements to invert which won't be re-inverted thanks

on Serendipity of things

Circles Packing and Kepler Theorem

By a bored Saturday afternoon I decided to make a little code for my amusment to test the sphere packing theorem. So what I did is to try to pack as many small circles into a big one, by an incremental method which doesn't converge but still gives convincing results. The animation showed here is a vizualisation of this incremental method which tries to minimize overlap one by one. I also tried with circles of various radius. What strikes me is the waves that propagates from circles that have trouble to insert themselves among other. We can see them propagating from one side to an other of the green circle (sorry for colorblind people, those are default gunplot colors).

Hypnothic patterns of integrer decomposition

http://www.datapointed.net/visualizations/math/factorization/animated-diagrams/

Beauty is in the eyes(n,n)

Any people interested by sparse matrix algorithms should know the University of Florida sparse matrix collection and, by the way, Tim Davis . If you don't, please spend some time using the above links, it really worth it ! It collects many different kind of matrices, real, hermitian, symmetric, unsymmetric, rectangular, etc, etc. Moreover you have a nice colored view of each matrices obtained by spectral mapping and colouring. Could you guess for which kind of problem each of the matrices below arised ?