Jan 19

Do the words “Crazy Code and up all night” describe you? Prefer the night more then you do the sunlight? The site CrazyCode is for you! This blog is all about any subject technical. I am trying to find a few contributing editors to also help along with writting articles for the site, so if you have anything crazy happen to you, please don’t be affraid to share.

written by Tim Groeneveld

Jan 12

When you have more then three servers to monitor, automating the installation of NRPE is a must! At Digital Pacific, the configurations that I have written are very versatile, there is about ten main lines, and adding or removing a server from that line determines what services will be monitored and how.

I have built a set of RPMs for all the servers there so that installing NRPE is basically done in two steps, and can be done completely hands off (if your hostname is set up correctly – which sometimes is not done).

Step One

Install the Nagios repository into /etc/yum.repos.d/

wget http://software.digitalpacific.com.au/repos/nagios.repo -O /etc/yum.repos.d/nagios.repo

Install NRPE

yum install dp-nrpe dp-nagios-plugins

Step Two

Do a few basic configuration file edits!

BOB=`hostname -i`; sed -i \
     /etc/nagios/nrpe.cfg -e "s/^server_address=\(.*\)$/server_address=$BOB/"
chkconfig --add nrpe
service nrpe start
service nrpe restart

If NRPE restarts you know you have done well!

written by Tim Groeneveld

Jan 07

To all my friends that I have never met in real life – Happy New Year!

This year is going to present some fun times. My code for autodeploying servers with predefined settings on them (eg, MySQL clusters, HTTP clusters) should be released some time soon. Also, ShareSource’s compile farm will go live. Another exciting project will be unleashed onto the world, but you will have to wait for that!

See you soon,
Tim

written by Tim Groeneveld

Dec 02

I have written a module for WHMCS for Virtuozzo. If you have any Virtuozzo servers that you would love to have integrated with WHMCS, read the instructions I have posted on the WHMCS forum and download the module.

written by Tim Groeneveld

Nov 21

Today was 32°C. I decided to go to McDonald’s and buy a nice cold frozen Fanta.

A few days after I moved to Sydney I found this very awesome book store near Central Station called Basement Books. Seriously, WOW.

Basement Books, conveniently located in central Sydney, offers 8kms and over 10,000 titles of discounted books with savings of up to 90% of recommended retail prices.

Even though the book I was specifically looking for was not there in the shop, in true Tim style I did walk out with about 1.5KGs worth of books. I suppose the only bad part of that was it was only two books.

I was looking for a book on C, because my skills have deteriorated greatly after not really writing much C code for at least 24 months.

  • MySQL Developer’s Library, by Paul DuBois; and
  • ANSI C++, The Complete Language by Ivor Horton.

I have started reading the book by DuBois, and it is a very well written; easy to understand, and it does include a very huge section about writing C applications; so it’s a win situation anyways, because I imagine that if I did write a complete C application, it would use MySQL in some way.

If your ever in Sydney, I would highly suggest going to the Basement Books store. It has amazing books… at amazing prices. Also, if you want to learn everything there is to know about MySQL, get this book. I only discovered partitioning for MySQL databases a few months ago when reading an article at work, and have loved the idea ever since. To have a nice section inside this book with practical examples for using partitioning has started to get my mind ticking.

written by Tim Groeneveld

Nov 20

If you have never used NoMachine before, it is a fantastic technology that allows you to have a Terminal Server for X on Linux, similar to XenApp for Windows. It is a very powerful application. I used to install FreeNX back in the day when it was released, but I have since learnt that it is just much easier to install the free version of NoMachine, especially for my own personal use.

It only took me about one minute, but I thought I might just write down the quick and dirty hack that I just did to get NoMachine’s free terminal server package (which allows two clients to connect at a time…) on Linux.

# sudo su -
# cd /tmp/nx
# wget http://64.34.161.181/download/3.4.0/Linux/FE/nxserver-3.4.0-8.x86_64.tar.gz http://64.34.161.181/download/3.4.0/Linux/nxclient-3.4.0-5.x86_64.tar.gz wget http://64.34.161.181/download/3.4.0/Linux/nxnode-3.4.0-6.x86_64.tar.gz
# echo the above URL’s may no longer be correct at the time of you reading this, please check http://www.nomachine.com/download-package.php?Prod_Id=1351
# cd /usr
# tar -xvf nxclient-3.4.0-5.i386.tar.gz
# tar -xvf nxnode-3.4.0-6.i386.tar.gz
# tar -xvf nxserver-3.4.0-8.i386.tar.gz
# ln -s /etc/rc.d /etc/init.d
# sudo /usr/NX/scripts/setup/nxnode –install redhat
# sudo /usr/NX/scripts/setup/nxserver –install redhat
# rm /etc/init.d

All the errors that the installer comes up with can be safely ignored.

written by Tim Groeneveld

Nov 06

I will admit that usually, I do not really discuss anything that is political, however, I think that this is worth a posting. A college at work was going through the process of installing Dell IT Assistant, and the US Government wanted immediate answers to a few questions. Here is the screenshot:

nonuclear

Please click to enlarge the image.

written by Tim Groeneveld

Nov 06

What does a computer nerd do when he is at work and trying to use one keyboard and mouse for two machines and it just does not work? Well, he fixes it of course!
For the last few weeks, since switching my KDE desktop at work to Gnome, I have had this seriously pressing issue that every now and then when I moved my mouse to the Linux machine, synergy would crash on that screen, with a nice assertion error.

INFO: CScreen.cpp,99: entering screen synergyc: ../../src/xcb_io.c:243: process_responses: Assertion `(((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed.

Well,I looked through the code for a few hours and I finally tracked down the issue. The synergyc application was actually trying to do calls to the X server using multiple threads, when X did not know that it was being used from a multi-threaded application.

Basically, after hunting down where the issue was, fixing the problem was as simple as adding a call to the XInitThreads() function on line 100 of lib/platform/CXWindowsScreen.cpp.

Rebuilt my package and boom, a perfect synergy.

written by Tim Groeneveld

Aug 14

Between playing with my new computer and busily working away on two personal projects, I have not really updated my blog. Infact, my blog has been getting no loving at all. I thought I might just spend a few minutes at this terrible hour of the morning to update people on what is going on.

  • ShareSource (Open source code forge)
    Yes, ShareSource is still being maintained. It has not died. I have almost finished writing the last dabs of the Xen software for ShareSource, as well as rewriting the template engine so it is all consistent. (Did you know that ShareSource has three ways of rendering pages?). Digital Pacific (the crew that I work for) have donated a Xen server for a compile farm for ShareSource, which is very neat.
  • MyBanco (Open source banking software)
    I have sitting in the Mercurial repository a pile of code to do with managing loans for users who have an account with the bank. New loans can be requested by a user, and verified by the Administrator(s). The money is either a) made out of reserves (ie, pulled out of thin air… like real money) or b) pulled out of a reserve account (like a “perfect” monetary system).
  • Galium (Open source top level domain management software)
    In a few days, I will be pushing code that fixes a medium issue with the adding of new records. In some cases, a user can enter particular inputs that crash BIND.

My new computer is going well. Running Compiz and Xen together allows me to have CentOS on one side of the cube, Arch Linux on the “main” side, and Windows on the other. Now there is love. My two new wide screen monitors are also pure joy.

My “top secret” project is coming along well, too. One part of the project is nearing release soon, which should give quite a good idea on the whole solution.

written by Tim Groeneveld

Apr 27

At the moment, a new release of MyBanco is done every one to two months. The reason that there are not more updates to the MyBanco software is because do a new release is a complicated job. Queue in makeRelease.sh and updateRelease.sh.

makeRelease.sh is an application that automatically clones the repository, automatically detects what the new version is, grabs a copy of the last release, and makes a patch for the last release. It also zips, tars and md5’s all the files and uploads them to the MyBanco release server.

updateRelease.sh is an application that sits in the core directory of MyBanco, detects what the current running version is, and then downloads and applies all the patches to bring it up to the latest version.

What this all means is that now making MyBanco releases are easy, everything is fully automated, and also updating to the latest version of MyBanco is a breeze, because you only have to run one command.

A new update to MyBanco, MyBanco-0.10 is due in the next three to four days, which will include the new updateRelease.sh application, and also will fix up a few issues with the installer when configuration already exists (where at the moment it just crashes out.)

Also, a new wiki is going to be on the MyBanco website soon that will act as a location for users to describe their MyBanco setups, and also provide tips and tricks to get MyBanco performance to the best numbers possible.

MyBanco Phone Banking will also get a fresh new look in this release, with an easy to setup configuration file, so that doing things such as changing the voice and deactivating Lumenvox text-to-speech will be just a few minutes. I hope that later today when I open the MyBanco wiki up that people will help to add tips etc.

Thanks,
- Tim

written by Tim Groeneveld