Today was my last day at StreamTheWorld. I spent the last 3 years there as the company C++ Tech Lead in charge of the company C++ streaming servers development. It has been a nice ride filled with challenges.These servers are used by over 1600 radio stations including AOL/CBS radios accessible through Winamp and Flash players.
Among my various realizations. There are:
I will start my new job Monday next week. Visit back my blog or my LinkedIn profile if you are curious to learn for which amazing new employer I will be working for.
It is a very interesting book. Anyone having been involved in a large scale software development projects will recognize typical problems often seen in this type of projects while reading this book and by experience we have developed an intuition about how to deal with the complexity inherent to large scale projects. Mr Lakos book is the first, to my knowledge, that address this subject and it formalize extremely well the problems of large scale projects and propose a methodology and principles to apply to keep the development and maintainability of these projects manageable. It is a very refreshing C++ book and I recommend it to any C++ professionals not having read it yet.
The most interesting chapters in my opinion are chapter 5 and chapter 6. Chapter 5 presents refactoring methods to remove cyclical dependencies among components, reduce inter dependencies and how to layout components into software layers that will ease reusability and maintainability. Chapter 6 discuss about component insulation. Its difference with encapsulation, the benefits of component insulation and its cost and when it is wise to avoid insulation.
While I was integrating a fix to a bug that has been reported to me by Daniel Quadros in my primality testing C++ module and also adding gcc asm support to it. I used that opportunity to rework my C++ source code to HTML converter. The 2 things that I added to the converter are:
The size optimization came from the very simple observation that my converter was stateless and was not recognizing when multiple consecutive sections sharing the same colors were processed. I just added a small FSM to my converter to keep track of the current state and the converter now close the current tag only if there is a transition to a new color. The most impressive result came from my DCEL C++ file with a 25% file size reduction!
Also, I am just starting to appreciate to power of CSS. I will now be able to change the code snippet colors across my whole website by just updating a small CSS file. As a side bonus by having switched from the <font> tags to <span>, I can now use my C++ highlight feature in the code snippets contained in this blog as the blog engine was forbiding using <font> tags on posts but allows <span>.
I just started to read this book which is an updated version of Practical Cryptography. This book is coauthored by Bruce Schneier. From what I have seen so far. It looks like a very nice introduction to cryptography that is very accessible. For more in depth coverage on cryptography, I would recommend looking at Applied cryptography. I will probably have more to say about the book when I am done reading it.
This book wants to be the encyclopedia of networking science. It is very complete and covers a lot of topics. In my opinion, this is not very useful because you either read a chapter covering a topic that you already totally master and hence learn nothing or the topic is totally new and the book barely scratches the surface of the topic letting many questions unanswered.
I want you to find in this blog informations about C++ programming that I had a hard time to find in the first place on the web.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
<< < | > >> | |||||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |