Archive for the ‘Uncategorized’ Category.

A Simple Golang SDL example

First install golang, SDL and the golang SDL package. The following is for Ubuntu 12.04:

sudo apt-get install golang-go

Install SDL libraries:

sudo apt-get install libsdl1.2-dev
sudo apt-get install libsdl-mixer*
sudo apt-get install libsdl-image*
sudo apt-get install libsdl-ttf*
sudo go get -v github.com/0xe2-0x9a-0x9b/Go-SDL/...

Then create the following go program. This write random pixel data to the screen directly. If you save it to main.go you can execute it with:

go run main.go

Here’s the code (please note there’s probably a lot wrong with it, it’s my first go program):

package main

import (
"github.com/0xe2-0x9a-0x9b/Go-SDL/sdl"
"log"
"unsafe"
"math/rand"
)

func draw_point(x int32,y int32,value uint32,screen* sdl.Surface) {
  var pix = uintptr(screen.Pixels);
  pix += (uintptr)((y*screen.W)+x)*unsafe.Sizeof(value);
  var pu = unsafe.Pointer(pix);
  var pp *uint32;
  pp = (*uint32)(pu);
  *pp = value;
}

func main() {

  var screen = sdl.SetVideoMode(640, 480, 32, sdl.RESIZABLE)

  if screen == nil {
    log.Fatal(sdl.GetError())
  }

  var n int32;
  for n=0;n<1000000;n++ {

    var y int32 =rand.Int31()%480;
    var x int32 =rand.Int31()%640;
    var value uint32 = rand.Uint32();
    draw_point(x,y,value,screen);

    screen.Flip();
  }
}

Installing Apache2/Modperl on Ubuntu 12.04

apt-get install apache2
apt-get install libapache2-mod-perl2
apt-get install perl-debug
apt-get install libapache2-mod-perl2-dev
apt-get install  libapache2-request-perl libdatetime-perl 

Edit /etc/apache2/sites-available/default, add:

        <Location /perl/>
                SetHandler perl-script
                PerlHandler ModPerl::PerlRun
                Options ExecCGI
                PerlSendHeader On
                allow from all
        </Location>

Install the CGI module:

cpan install CGI

Create a directory /var/www/perl. Add a script, for example:

#!/usr/bin/perl

use CGI;                             # load CGI routines
$q = CGI->new;                        # create new CGI object
print $q->header,                    # create the HTTP header
      $q->start_html('hello world'), # start the HTML
      $q->h1('hello world'),         # level 1 header
      $q->end_html;                  # end the HTML

Call it something like hello.pl. Try to access http://server/perl/hello.pl, everything should work correctly.

Dell Openmanage Ubuntu installation notes

echo 'deb http://linux.dell.com/repo/community/deb/latest /' | sudo tee -a /etc/apt/sources.list.d/linux.dell.com.sources.list
gpg --keyserver pool.sks-keyservers.net --recv-key 1285491434D8786F
gpg -a --export 1285491434D8786F | sudo apt-key add -
apt-get update
apt-get install srvadmin-base srvadmin-storageservices

#may not be required:
modprobe ipmi_msghandler
modprobe ipmi_si
modprobe ipmi_devintf

/etc/init.d/dataeng start

#reporting, system alerts:
/opt/dell/srvadmin/bin/omreport system alertlog

#reporting, e.g. fans:
/opt/dell/srvadmin/bin/omreport chassis fans

#reporting on controllers
/opt/dell/srvadmin/bin/omreport storage controller

#reporting on drives:
/opt/dell/srvadmin/bin/omreport storage pdisk controller=0

#virtual disks
/opt/dell/srvadmin/bin/omreport storage vdisk

Disabling NetworkManager on Fedora/Centos

systemctl disable NetworkManager.service
sudo chkconfig --level 2345 NetworkManager off
chkconfig network on

Edit /etc/sysconfig/network-scripts/ifcfg-ethXXX where XXX is each interface you want to be active on boot. Make sure the following are set:

NM_CONTROLLED=no
ONBOOT=yes