Made to Order Software Corporation Logo

right

Training at Made to Order Software

Made to Order Software is commited in making its products easy to use and ensure maximum performance from its customers' engineers.

All of our products are documented in fine detail, ensuring that your engineers can quickly find the information they need to move forward.

In order to make sure your engineers can make full use of our tools and be able to hit the ground running, we offer tailored on-site training with a Made to Order Software certified instructor for all of our professional products.

Testing PHP properly...

I have been wondering, for a little while, how can I properly test my PHP code?! Only my server can run it, right? Well, no, there is CLI. Okay, but how can I make that work in there?

The best answer I’ve got so far: simpletest. This PHP library let you write a test a la C++. You simply create a class derived from a SimpleTest class, and voilà. You are done. Well… you still have to implement test functions. But that is still a breeze.

I used this library to test the PHP eFax classes and got about 4 bugs out (not too bad, considering I wrote over 1,000 lines of code and ...

LinuxWorld Conference & Expo 2008

This year, 2008, I decided to register and go to LinuxWorld. It is in August and my kids are not at school so it was easy to manage. Also, I had to go to the French consulate to get a birth certificate for my daughter. In other words, I had the chance to do two things at once!

I found it quite interesting to hear that many people were not too excited about the event. Many of the people walking around are like me: they themselves sell their own Linux solution. In other words, they are not going to be customers. I had the chance to talk with Roger Levi, the Vice President of the Open Platform ...

The odbcpp library is now available!

Made to Order Software now uses the ODBC library with its modb library (which is part of our molib product.) Unfortunately, it is not only written in C, it generates many errors. Actually, every single function has the potential of returning an error. For this reason, using the C interface is simply not a safe option.

For this reason, Alexis Wilke, our CEO, wrote an C++ wrapper called odbcpp. It encapsulates all the necessary ODBC calls to access any ODBC compatible database.

The odbcpp library ensures the proper management of all the resources for you. It allocates and frees the handles as ...

Pointers and proper exception handling...

Many C++ programmers have been C programmers first. Therefore, a lot of times, you find statements written this way:

ptr = new type;

if(ptr == 0) // handle error...

This is a C programmer that does not yet know that the new operator will throw an error if the allocation cannot happen. This makes a lot of sense, but what does that mean to the C++ programmer?

Metrics. Why are they needed?

When managing your life, when managing your work, when managing your business, you need to accomplish a certain amount of work to get where you want to go.

In general, it is difficult to judge how much work will be necessary to do one thing or another until you actually do it. So you setup goals and draw up plans to reach them and then you try to do all the work you assigned yourself to reach these goals.

One reason an Internet Business has an advantage is because the computer can do a lot of the work for you. It can give you information on how many people come to your website every week, ...

The assert() macro in C/C++

 

This is a subject that comes back all the time in C/C++ boards.

Should you use assertions?

The answer is clearly yes. But the C/C++ assert() function is usually defined using a macro. Macros have several problems. The most common ones are: they offer no type checking, they do not warn you about weird side effects, they have a different syntax than the C/C++ language itself.

One good thing: for a fast program, the debug code used to check parameters, results, etc. is gone.

One really bad thing: if the expression in the macro has a side effect, the release program is different from ...

HTML Forms and the action attribute

Today I had to debug a set of HTML pages. One feature of a website would not work with Internet Explorer. The code was like this:

Increase Security with a Reverse Proxy Server

What is Reverse Proxy?

There are three excellent reasons to switch to a Reverse Proxy Server right away:

  1. Protect all of the sensitive data on your servers;
  2. Have only one gateway to the outside world;
  3. Ease the load on your web server by allowing the reverse proxy server to distribute the requests.

Figure 1 below presents a simplified setup of a Reverse Proxy Server.