Origins and Timeline

Ξ August 23rd, 2009 | → 0 Comments |
Photo |, , , |

August 19th, 1839 was the day that photography was “officially” born, after the patent of the Daguerreotype (an early photography development procedure developed by Louis Daguerre) was acquired by the French government and given as a “gift to the world” during a presentation in the French Academy of Sciences. The complete and very interesting timeline is available here, or here and another one here.

Currently, the August 19th is used to celebrate the World Photography Day. I’m a little bit late but here’s my contribution.

 

The pen…

Ξ August 23rd, 2009 | → 0 Comments |
Life |, , , |

… is mightier than the sword!

The expression has it’s origin in the English theater play “Richelieu: Or the Conspiracy”written Edward Bulwer-Lytton in 1839.

I agree with it since I to use a pen daily and consider it the best way to engage with my working day. I don’t usually write “for pleasure” preferring the keyboard to take my personal stuff, but when it comes to work the pen is the best tool to have in hand. A pen and a little “blank-page” book are my basic tools when it comes to following up the daily work, especially when the days are passed in meetings. Rob me of my pen, my book or my mind-map diagram, and I’ll be lost for days…

I like to use an “all-in-one” multi-pen… black, blue, red and pencil always ready to take a note or schedule a new meeting.

 

J2SE and J2EE

Ξ August 20th, 2009 | → 0 Comments |
Tools |, , |

The other day, talking with a friend, the discussion turned to the actual meaning of J2SE and J2EE. Although both of us know Java quite well, none of us was able to specify the meaning of these acronyms. We were close, though.

The term J2SE (standing for Java2 platform, Standard Edition) is no longer in use, and (starting at Java 1.6) JSE should be used whenever referring to the “Java Standard Edition”.

The term J2EE (standing for Java2 platform, Enterprise Edition), has been replaced by the short version JEE with means “Java Enterprise Edition”. The JEE edition is more complete that the simplistic JSE, and contains Enterprise Java Beans components, Java Servlets API and JavaServer Page.

There is also a micro edition, called JME (Java Micro Edition), which is oriented to support handheld devices such as PDAs and smart phones.

The one term me and my colleague agreed upon was JDK, which stands for Java Development Kit. JDK is available for free download at Sun’s Java homepage.

The next time I get into “acronyms battle” I’ll take a look here.

 

delete NULL

Ξ August 19th, 2009 | → 0 Comments |
Programming |, , , , |

This is one of many small reason which makes me prefer C++ to C.

Of course, object programming provide much better encapsulation and abstraction mechanisms than structs and ’simple’ functions or procedures, but today’s tip is not about that. It’s about managing of dynamically allocated memory.

C provides memory block management with functions from the malloc family to allocate memory chunks (for raw management by the programmer) and the infamous free function to release previously allocated memory, while C++ provides a cleaner (at least in my opinion) approach. C++ defines two ’special’ operators:
- operator new allocates a new chunk of memory, which allocated memory with a given initialization behaviour encapsulated in an object. Also, the access to the allocated memory is clear and well defined by the class interface.
- and operator delete to release previously allocated memory.

But why all this talk? Because I learned a new thing this week (or at least it became more present in my mind). In both languages, you can call the release mechanisms (free or delete) using a NULL pointer without having to protect against undefined behaviour. This means that both of the following are correct:

double *p = 0x0
free( p );
double *q = 0x0; 
delete q;

This feature can be used in C++ to provide the following class scheme:

class Base;
class Derived: public Base;
class Actual {
private:
  Base *ptr;
public:
  Actual(): ptr(NULL) {}
  Actual(Base *ptr): ptr(ptr) {}

  virtual ~Actual()
  { delete ptr; }
};
class FirstActual: public Actual {
public:
  FirstActual(): Actual() {}
  virtual ~FirstActual() {}
};
class SecondActual: public Actual {
public:
  SecondActual(): Actual( new Derived() ) {}
  virtual ~SecondActual() {}
};

By observing in detail the example, it’s easy to understand how class Actual stores objects of class Base or any of their derived types, even if the object pointed by ptr is allocated (which is not mandatory) by the classes derived from Actual. For instance, FirstActual doesn’t allocate a new object which means that ptr remains NULL. SecondActual creates a new instance of a Derived object, passes it to the Actual class, and after that no more memory management worries are necessary. The implementation of the class Actual shall be responsible by calling the associated delete (in the case the delete of a Derived object).

 

vacation

Ξ August 8th, 2009 | → 1 Comments |
Definition, Vacation |, |

vacation

- noun
: a scheduled period during which activity (as of a court or school) is suspended;
a period of exemption from work granted to an employee

in Merrian-Webster Online Dictionary         


My vacations are ending, batteries are recharged, stress levels are at minimum…
I’m ready to get back to work!

 

Frak BSG, this is Amazing!

Ξ August 8th, 2009 | → 0 Comments |
TV, Uncategorized |, , , , |

Awesome is the best word to describe the new version of Battle Star Galactica (BSG). Although being a sci-fi fan, I have to admit that I never had the change to see the “old” version of this TV series (I didn’t say huge fan). The BSG marathon to reach the end of season 2 was almost necessary, in fact, after a couple of episodes I was totally hooked! And the season finale!… Amazing!

Battle Star Galactica Cover

The suspense left in the air by the end of season 2 was so spectacular that I started immediately to watch season 3. I only hope that it continues to be this great until the end…

As a final note: ‘Frak’ all ‘Toasters’… Personally, I like the Model Six’s shapes. :)

Cylon Model 6

 

2%

Ξ August 7th, 2009 | → 0 Comments |
Travel |, , , |

… is the amount of world countries I’ve visited!

World Map

It’s sad… I enjoy traveling, but never had to change to wonder very far from home. Build your own world map at World66. Take it as a challenge!…

 

29, and well shaved!

Ξ August 4th, 2009 | → 0 Comments |
Life |, , |

As a good colleague told me today “You’re almost changing into a new decade!”. Yes, the big 30 is coming… but for not it’s only 29. And I got this gift for my birthday!

“Is there a subliminal message?” I asked when opening the small box. “Subliminal?! There’s nothing subliminal about this one…”. Thanks. I You.

 

Premieres

Ξ August 1st, 2009 | → 0 Comments |
Family, Fun |, , |

I’ll let you guess… who wanted to watch these movies? The possible solutions are girls, girls or girls!

Both of my girls cried at Hannah Montana. A chick flick, totally! I’m a fan, absolutely!

Ice Age 3 is a decent sequel… the last one, I hope!

Harry Potter is a decent sequel… I’ve read all the books. I’ll wait for the last movie.

 

 

Just reading…

Ξ August 1st, 2009 | → 0 Comments |
Fun, Vacation |, , |

Book Pile

My last post was almost 3 weeks ago. It might seem a long time ago but, after a very stressful last work week, I’m currently enjoying a well deserved vacation. So, I haven’t had much time to write! After hitting the beach for a week, I’m sure this vacations shall be a time for resting, resting, resting and… a lot of reading.

The photo (on the side) shows some of the expected reading materials:

- “The Girl Who played with Fire”, Stieg Larsson.

- “I, Robot”, Isaac Asimov.

- “One Continuous Mistake”, Gail Sher.

- “The Children of Men”, P.D. James.

- “Design Patterns: Elements of Reusable Object-Oriented Software”, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.

Has you can see by the contents of the above list, I like to read a lot, and the topic is not very focussed… :-) I’m considering adding some comics to the list. Maybe I’ll read “Watchmen”!

 

On the nightstand...


    The Art of Agile Development


    Beautiful Architecture


    Modern C++ Design


    Large Scale C++ Software Design

Personal

Friends


Interesting


Shared Readings