Syndicate content


SugarCRM Community Edition for Ubuntu 16.04 with PHP 7

As I wanted to use SugarCRM on my new server, I looked into the Community Edition and apparently the company is not willing to convert their code so it works under PHP 7.

So that would not work on a newer system because the code uses quite a few forbidden mechanism (wrong class definitions, old defunct functions...) and that prevents to even instal the system on your machine.

Now, I have looked closer into it and I am getting a version that works pretty darn well already. I still have some issues here and there, but I think you can already make use of that version. Except for one thing which ...

Classes in JavaScript (from complex objects to proper classes)

When creating objects (commonly called JavaScript classes) in your JavaScript code, you want to use the prototype. This is the only clean way of doing it. In JavaScript, you can create objects on the fly, but those are not considered safe.

Quick and Dirty

The quick way is to create an object directly. This works, but it has potential problems with used against a powerful optimized such as the Google Closure Compiler.

All the Quick and Dirty examples can make use of this in their myFunc examples. However, the closure compiler will warning about all of them because it doesn't know for ...

cellpadding="..." and cellspacing="..." not working

Today I was trying to create a table in a post and just could not get the cell padding I wanted. Without the padding the data is all cramped together which did not look the way I wanted (see Alexis Wilke Accounts.)

I knew I had the following entry in my CSS but did not think it was stronger than the table cellpadding and cellspacing specifications because I thought it worked for me before!

* {
  margin: 0;
  padding: 0;

I was wrong, that definition applies to the td with a greater constrained. So I had to add another entry. I solved the problem using a td definition like this:

Skip Postgrey test with a Postfix restriction map

By default, when postfix is installed with postgrey, all the emails that are not blocked by some other means are all passed to postgrey.

What if you have a customer who doesn't want to wait forever to get his/her emails?

Well... you need to bypass postgrey (and good luck to him/her in regard to heavy spamming...)

The setup requires two additional entries as defined here:

# in
smtpd_restriction_classes = permissive
permissive = permit

Here we define a new class called "permissive" (which is case sensitive!) and that we will use in the restriction access file.

The C++ delete operator, will it do what you expect?

It has always been weird to me to see that the delete operator was not actually going to call all the destructor on objects. That is, if you create a class B that derives from a class A, deleting an object when cast to A does not (by default) call the destructor defined in class B.

The result is that ALL classes should define their destructor as virtual. This doesn't make sense because you shouldn't have to have a virtual table in all your objects just for the destructor to work right. On the other hand, class A has no way to know that it will be derived by class B so its destructor

Why aren't my C++ class public functions exported with __dllexport?

I had a problem for the last 2 days and had a hard time to determine what it was...

Now I know how to resolve such a problem, so I wanted to share my finding! It's very simple, but writing about it here may help me later to save time...

So... I wrote a C++ class for a DLL, this means I want it's public functions to be exported:

class MY_CLASS_API myClass {
    ... // declarations and functions

Up to here, nothing strange.

The MY_CLASS_API is a macro defined in some random header file:

#if defined(MSWINDOWS)
#    define MY_CLASS_API

nice and ionice for Linux users

By default, a computer system gives each process the same priority level in regard to accessing your hard drive.

With newer versions of Linux, it is possible to use two other priorities: one where I/O is not primordial and thus you do not get it if anyone else wants it, and one where you want to work in realtime and have priority over anyone else.

This is achieved with the ionice command line (or corresponding kernel calls.)

This is particularly useful if you want to copy a partition to another and you know that it will take 20 minutes to copy everything... and thus the computer will be ...

SSH authorized_keys features

Pretty much every day I learn something... Today it will be the fact that you can enter variables in front of a key that will request the SSH deamon to verify a certain number of facts in regard to the connection being made.

For instance, it can automatically test that the IP address of the person connecting is a specific IP (if you have a static IP address, very practical!)

Table owner in PostgreSQL

System tables and how to edit them is just not defined in the SQL language, unfortunately. So different database systems have different solutions to handle their table declarations. PostgreSQL is no different.

In most cases, MySQL uses some special instruction to update system information. In PostgreSQL, you have internal tables that the administrator can access and tweak as required.

[toc hidden:1]

MS Access classes

As most people know, all of the MS-Office macros are written in Visual Basic.

Visual Basic is for sure a huge whole lot better than the BASIC I had on my Apple //c. For one thing, it does not require line numbers and you can declare functions, procedures, and have local variables (FOR loops that use the variable I do not overwrite the variable I of the FOR loop from the calling function!)

Since MS-Access 2007, we have the possibility to create classes!

Syndicate content Syndicate content

Diverse Realty

Diverse Realty Team

Want a New Home?
Want to Sell Your House?

Call Alex at
+1 (916)
220 6482

Alexis Wilke, Realtor
Lic. # 02024063

Cory Marcus, Broker
Lic. # 01079165


Terms of Site Index

Find the page/content you are looking for with our index.

  • lm87
  • operator
  • reboot

    The action of restarting a computer is called reboot. This reloads the operating system and your different auto-start software.

    There are two types of reboots: a cold reboot and a warm reboot.

    The cold reboot is the one where you turn your computer all the way off and back on. It is considered to be the ultimate reboot which ensures that everything is alright.

    The warm reboot is when you just reboot your operating system. This means some of the hardware parts may not be fully reset as expected in a cold reboot. There are several reasons for this, at times the BIOS of your system does not give the correct signals to all the parts, and at times the signal doesn't propagate to all the parts as it should.

    This is why a warm reboot does not always work (i.e. think when you change a driver and the new driver is not able to properly reset the state of a board or chip... turning the computer all the way off and back on may resolve the problem.)

  • right
  • roaming