Monthly Archives: April 2014

Dude, where’s your paranoia?

Working with Java bears

Today’s story is about security. At work, one of our big construction site is to move old SOAP webservices into modern RESTful webservices. One of these webservices’ job is to generate a personalized pdf for a user based on the id of their banking operation. Doing this was not trivial considering our architecture, but it was rather fun, and it came with extra fun because developers are left alone with themselves to decide how to do things with no site manager to supervise how the building is going to be. No plan, just build it. Developers are expected to be their own architects. So developers are also expected to communicate with each other on how they’re going to do things. Sometimes it leads to funny situations.

Continue reading

Posted in Stories, Devsworld

Tagged

Binary Insert : How to keep an array sorted as you insert data in it ?

With javascript and recursion

Recently I played solving the overlapping rectangles problem. This problem is simple, it is about finding out among a set of rectangles laid out on a surface which are the ones that overlap, with code of course. I will certainly detail my solution later but since it is very big and requires a bit of work and graphics, I prefer starting by sharing small bricks of the solution now.

A brick of the solution involves scanning the x coordinates of each rectangles like you’re moving from left to right reading every x coordinate of a rectangle you encounter, both left and right side. In computing terms, this means you need a structure to put the x coordinates in, and the scanning means the structure needs to be sorted : first x coordinate is the first coordinate you encounter and therefore the smallest one, last x is the largest.

I picked an array as the data structure so I needed this array to be sorted at all times to track the x coordinates. In real life conditions, the rectangles are thrown at you in chaos order and you have to add the x coordinates to your array and keep it sorted. How would you do that? This is the very problem I intend to expose and solve in this article :

How to keep an array sorted as you insert data in it?

My code is in javascript but the reasoning I will describe is totally language agnostic, you can always apply it to your own language.
Continue reading

Posted in Code, Algorithms

Tagged ,

You can’t be just geek, you know

The sentient developer mode

So today I had an interesting conversation at work. They filled me in about a new position they want to open for a front engineer and they would like me to take the role. Obviously the job interests me, but it interests me only for its technical appeal because it’s an architect job – and this is what I want to do. They were pretty confident for the technical part of the job and didn’t even mention it which was reassuring. However, their biggest concern was if I would be motivated enough to learn more about the actual activity of the company in order to create interfaces with all the business logic in mind. In other words I would need to have a pretty sharp knowledge of the business logic to do the job, I would need to interact with non technical teams and such, they said “We want the closest person to the application to know our business the best” – wow. This is new.

Continue reading

Posted in Life, Devsworld

The Infometer Concept : Making information measurable

Introducing the Infometer chrome extension

In this article I will show you what’s missing in the way we process digital content and what we could do to improve that with the concept of “Infometer”. It is the rationale behind the Infometer chrome extension that I also introduce here as an illustration of this concept. Continue reading

So I am a heavy reader. My best rate is one book per week. I read mostly practical books that make me learn something and sometimes novels. My reading is consequently very goal driven : I have to understand and learn. Being rather a practical reader, I have developed some reading techniques that make me read faster, with more focus, so that I learn more efficiently.

Continue reading