My blog
My LinkedIn Profile

BOOKS i'm reading

Napoleon Hill Keys to Success: The 17 Principles of Personal Achievement, Napoleon Hill, ISBN: 978-0452272811
The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich (Expanded and Updated), Timothy Ferriss, ISBN: 978-0307465351
The Fountainhead, Ayn Rand, ISBN: 0452273331
Web Hosting Canada


Last comments

In response to: Optimizing C++ code for Intel processors (and possibly many others)

Maurizio [Visitor]
if( ptr != NULL )
delete ptr;
ptr = NULL;
should be changed to:

delete ptr;
ptr = NULL;

This is plainly wrong when talking optimizations as the "delete ptr" statement will most likely turn into a function call to the delete operator, which will at the bare minimum check that ptr is not null before looking into the memory heap data structures.
PermalinkPermalink 08/15/12 @ 03:02

In response to: Linksys Wireless-N Gaming Router WRT330N model review

RMP [Visitor]
Nice post. It helped me to find the issue why PS3 is hanging when we send media files via chunking..
PermalinkPermalink 09/02/11 @ 06:18

In response to: Distributed Systems: Concepts and Design (4th Edition)

marwan ahmed abdelhady [Visitor]
nice book
PermalinkPermalink 05/24/11 @ 22:55

In response to: Compiler Design in C

Turbo Pascal Fan [Visitor] · http://turbopascal.org/
Another good resource on compiler design

PermalinkPermalink 05/17/11 @ 14:01

In response to: NAT traversal for the dummies and the best NAT router for online gaming

lano1106 [Member]
I went to see the youtube video for the top 10 gaming routers. I have to disagree with the top 1 choice which is a router that I got problems with:


IMO, Netgear products are of higher quality.
PermalinkPermalink 03/21/11 @ 06:49

In response to: NAT traversal for the dummies and the best NAT router for online gaming

XBox Repair Chicago [Visitor] · http://www.xboxrepairchicago.net
Today this problem is almost gone, most routers are now RFC 4787 compliant. Great fix for the problem and those who have older routers can now game in peace.
PermalinkPermalink 03/21/11 @ 01:21

In response to: NAT traversal for the dummies and the best NAT router for online gaming

Educational Games Online [Visitor] · http://www.funeducationalgamesonline.com
Check out this vid on Top Routers for Gaming 2011 at http://www.youtube.com/watch?v=kASW1o4hImE. Get some ideas then do some more research after, get the info straight and get it right the first time.
PermalinkPermalink 02/15/11 @ 14:32

In response to: Graph breadth-first traversal algorithm C++ implementation

stephen [Visitor]
Cool, I thought the interview was an all day affair hence my question about payment.
PermalinkPermalink 10/12/10 @ 06:10

In response to: Graph breadth-first traversal algorithm C++ implementation

lano1106 [Member]

You have about 30 minutes, maybe less than that to produce the program. That being said, I am not even sure that I had a working program during the alloted time. and no, they do not pay you for your time like any interviews in any company that I know and IMO, this is the right thing to do.

I have considerably embellished the program once I decided that I would publish it on my website. With all the comments, and all the cool STL usages within the program, I would say that I spent a good evening to bring the program as it is now.
PermalinkPermalink 10/11/10 @ 19:18

In response to: Graph breadth-first traversal algorithm C++ implementation

Stephen Reis [Visitor] · http://www.terminalserverprinting.org/
Never had any interview where I was asked to write a program. Did that take you long to create Olivier; if ever it did facebook paid your time? Just asking out of curiosity.
PermalinkPermalink 10/11/10 @ 15:01

In response to: Logitech Quickcam Fusion

endorphin [Visitor]
Have the same problem with software. After using official software XP becomes unstable.

Now, trying fix this not welcome problem
PermalinkPermalink 04/03/10 @ 17:28

In response to: TCP RST flag subtleties

Joe Beckner [Visitor] · http://www.UniplexNetworks.com
Thank you, you are right, the router with IOS Firewall is doing NAT/PAT on the single IP address of the outside T1 interface. So the Google servers will see all users with the same IP address and different TCP port numbers. I will take a look at this some more.
PermalinkPermalink 03/26/10 @ 12:42

In response to: TCP RST flag subtleties

lano1106 [Member]
Hi John,

it seems to be different. In the scenario I am describing, the client TCP/IP stack do receive the server reply. It is the application that do not sees it because a RST is immediately following the reply and is received by the TCP/IP stack before the application has the chance to read the reply from the stack.

This is not the problem that you have because if it was, you would see the reply precedes the RST segment with Wireshark.

In your situation, if you were asking me my opinion, I would suspect your router to be a NAT device and gmail server must have an internal limit that makes it refuse a single IP address to initiate more than a certain number of connections to protect itself against spammers.

I see some avenues to solve the problem:

1. If possible, configure your router to have more than 1 public IP address on the external NIC and make the router NAT module load balance the connections among the available public IP addresses.

2. Here is what my DNS server returns me for gmail.com:

Non-authoritative answer:
Name: gmail.com
Name: gmail.com
Name: gmail.com
Name: gmail.com

You could tweek your DNS server to let it do the load balance for your users.

Please report back here if this has helped you to fix the problem.
PermalinkPermalink 03/26/10 @ 10:47

In response to: TCP RST flag subtleties

Joe Beckner [Visitor] · http://www.UniplexNetworks.com
I think I am experiencing the problem you are referring to in this blog.

I should preface my comment by stating that I am not a software programmer, I am a network hardware person who sells, install and maintains Cisco network switches, routers and firewalls for small and medium businesses.

I am troubleshooting an intermittent problem for a client who has about 100 users on gmail. They experiencing intermittent periods where one or more users cannot access their gmail. All other internet traffic (web, etc.)is ok. Resetting the Cisco3825 router firewall on the T1 line clears the problem. I did not believe that this was really a router problem. All sessions are terminated when the router restarts which is probably why it clears.

I have some Wireshark captures from when users are experiencing problems. What I am seeing is an immediate TCP RST coming back from the Google gmail server after the successfull TCP 3 way session initiation for HTTPS. There are no HTTP codes coming back from the server. This repeats over and over.
PermalinkPermalink 03/26/10 @ 09:59

In response to: What is the C++ SFINAE principle ?

lano1106 [Member]

To be honest, I had an intellectual understanding of the example I was giving but I have
never bothered to compile it to see if it works until today.

I have tried to compile it with gcc 3.4.4 and I get the same error message. I will try to
find an answer and post it if possible.

Thank you for the comment.
PermalinkPermalink 08/31/09 @ 20:22

In response to: What is the C++ SFINAE principle ?

Michal [Visitor]
Hallo Olivier.
Thank You for Your example.

So far I am trying to understand how it works.

Unfortunatelly I have problem with preliminary step: it does not compile on my linux box (g++ (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8)).

I get the following error:
p41.cpp:12: error: expected primary-expression before ">" token

Line 12 in my program is the following:

enum { Yes = sizeof(IsClassT...::test....(0)) == 1 };

(sorry for modifications in line above, but I couldn't put template parameter T in Your page, because they have a format of tag).

have You got idea why doesn't it compile?

best regards
PermalinkPermalink 08/31/09 @ 01:29

In response to: CLOSE_WAIT vs TIME_WAIT

AltosAce [Visitor]
Funny that you asked why in a TIME WAIT state, the time out period is not 2*MSL. Actually, if you look at the diagram of TCP finite state machine (12 states), the Timeout is indicated to be 2MSL (towards the bottom, right next to TIME WAIT state). (In my case, the state digram is in the back inside cover of Inside TCP/IP book by K Siyan).
PermalinkPermalink 05/14/09 @ 16:36

In response to: UNIX Network Programming: Networking APIs: Sockets and XTI; Volume 1, Second edition

lano1106 [Member]
How is the sock variable initialized? It must be a variable returned from the socket() function.
PermalinkPermalink 03/12/09 @ 19:39

In response to: UNIX Network Programming: Networking APIs: Sockets and XTI; Volume 1, Second edition

tanixmukherzee [Visitor]
hi prasanna i am having a problem with connect function...
i dont know why...
i m giving u the code here..plz help me...

if ((conn=connect(sock,(struct sockaddr *)&server_addr,sizeof(struct sockaddr)))<0)
printf("error entered");

the problem is i am having an error like...socket operation on non-socket...
can u help me out...the server program is okay...)
PermalinkPermalink 03/10/09 @ 00:44

In response to: XML Schema - The W3C's Object-Oriented Descriptions for XML

Simon Sprott [Visitor] · http://www.liquid-technologies.com
This is a great book for learning the XSD standard.

Couple this with a good XML Schema Editor like Liquid XML Studio, and you'll learn the basics of the standard in no time.

The split code/diagram view provides the feedback required to quickly learn the effects on the XSD code as the documents structure changes.
PermalinkPermalink 01/06/09 @ 11:39

Olivier Langlois's blog

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.

June 2024
Sun Mon Tue Wed Thu Fri Sat
 << <   > >>
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


Custom Search


XML Feeds

What is RSS?

Who's Online?

  • Guest Users: 5

powered by