Adding a Virtual Disk Device to a VMware virtual machine (Windows 2003 Server host)

How To, Linux, OS, VMware, Windows 1 Comment »

I thought it would be possible to add a virtual device file to a running virtual machine and have it show up in the virtual machine without restarting the virtual machine.  I was wrong.  The current VMware Server 1.0.6 is incapable of doing this.  What you can do is to set up the device file so all you have to do is to restart the virtual machine, minimizing downtime to a couple of minutes:

  • Create a new 20GB preallocated disk in the D:\Virtual Devices\DBA Dev 1\Disk4 directory:

D:\Virtual Machines\DBA Dev 1\Disk 4>vmware-vdiskmanager -c -a buslogic -s 20Gb -t 3 Disk4.vmdk
Using log file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vmware-DBH1admin\vdiskmanager.log
Creating a split preallocated disk ‘Disk4.vmdk’
Create: 100% done.
Virtual disk creation successful.

  • We need to determine which device slots are available.  Go to VM->Settings and look at the next free scsi device #
  • Associate the new virtual device file using the free scsi4 slot

D:\Virtual Machines\DBA Dev 1>vmware-cmd “D:\Virtual Machines\DBA Dev 1\Ubuntu.vmx” setconfig scsi4:1.fileName “Disk 4\Disk4.vmdk”
setconfig(scsi4:1.fileName Disk 4\Disk4.vmdk) = 1
D:\Virtual Machines\DBA Dev 1>vmware-cmd -v “D:\Virtual Machines\DBA Dev 1\Ubuntu.vmx” setconfig scsi4:1.present true
API Version: 1.01
setconfig(scsi4:1.present true) = 1

After you restart the virtual machine, the device will now show up when you run fdisk -l.

Listen to this podcast Listen to this podcast

Customization…. one of the many reasons Linux is my primary desktop :)

Linux, Mac OSX, OS, Windows, humor No Comments »

Can you do this on your favorite operating system?

“Laugh it up fuzzball!” - Han Solo

Listen to this podcast Listen to this podcast

Could it be true? Microsoft’s national technology officer concedes to Open Document Format (ODF) for Office file format!

News, OS, Windows No Comments »

I never thought I would live to see the day, but it looks like Microsoft is ‘bending knee’ to the consumer… Microsoft’s national technology officer, Stuart McKee, concedes to the victor:

…. “ODF has clearly won,” said Stuart McKee, referring to Microsoft’s recent announcement that it would begin natively supporting ODF in Office next year and join the technical committee overseeing the next version of the format. ….

read more at InfoWorld

I don’t know about you but I’m not holding my breath that Microsoft will actually do this…  they be sneaky ;-)

Listen to this podcast Listen to this podcast

Introducing….. SweeperBot!

Perl, Windows, misc No Comments »

SweeperBot is an application written by Paul Fenwick that plays Windows minesweeper for you automatically. It’s based upon code orignally written by Matt Sparks.

Get it at SweeperBot.org!

Listen to this podcast Listen to this podcast

Flourish 2008 Conference Roundup

ASE, Events, Gadgets, Linux, News, OS, Perl, Sybase, Training, Windows, misc 1 Comment »

This year’s Flourish Conference was held at the University of Illinois in downtown Chicago (UIC). The Flourish web site describes Flourish as: Flourish 2008 Conference

The goal of the Flourish Conference is to promote the use and adoption of Free Libre Open Source Software (FLOSS) by demonstrating the practical applications of FLOSS in the business and academic world. While everyone is familiar with businesses that focus on creating non-free proprietary software, the same cannot be said for those who specialize in developing and supporting FLOSS software, and an Open Culture.

I missed a part of Bruce Perens’ Innovation Goes Public presentation due toBruce Perens Chicago’s closing several sidewalks that go over or under the tristate. I’m not quite sure I agree with him that the road a head for open source is all rosey. Perhaps I misunderstood him but it seemed to me that the idea of simply giving the source of an application to the public would allow the programmers to still be paid via the support/service agreements.  This may work for some applications, but for others there wouldn’t be a sufficient number of support contracts to financially support the programmers Personally, I prefer open source but I will also pay for commercial proprietary software. I use what works.

The company I work for, Sungard Investment Systems, uses open source for many internal projects. One such product uses VMware and Linux for a rPathportable monitoring system so I was highly interested in rBuilder Online from rPath. I attended the Appliance Development and Conary session presented by Stephanie Watson from rPath. I’m currently investigating on how well and easy it is to make a VMware appliance that would house a Sybase ASE server (DBMS) with no unnecessary os files. If the testing turns out well, I will ask my fellow Sybase ASE DBAs whether Sybase need certify it or whether we are ‘on our own’. The monitoring machine itself really doesn’t need Sybase ASE on it but since we have the license….

Dr. John Waclawsky, from Motorolla, gave a feel good presentation about the state of communication between wireless gadgets. The Revolution at the Edge of the Network Abstract. Short version: things are going to get very interesting in the next year :)

James Gray, from IBM, presented IBM’s Open Source Strategy - Turning Threat into Opportunity. WhileJames Gray, IBM essentially a case study of how IBM has interacted as a semi-liason between the business executives and the open source community. IBM, to me, has seemed to be stuck in a love/hate relationship with open source and a dislike/hate relationship with the Free Software Foundation. That being said, it is necessary to give IBM credit giving credence to the open source community with the business executives. The IT folks no longer had to quietly use open source in the business but were free to use it extensively in many places. Linux, in particular, is no longer the wild west in many CTOs’ eyes but a integral part of their business. Tony Wong of Chicago Perl Mongers

I met Tony Wong in the Chicago Perl Mongers ‘booth’. We discussed the upcoming Yet Another Perl Conference (YAPC::NA 2008) that is being held in Chicago and the horrible documentation of the Catalyst MVC web framework. I informed him that the only way to learn Catalyst was the new book Catalyst by Jonathan Rockway (ISBN: 978-1-847190-95-6). I also warned him that the book should have gone through another round of proofreading prior to being published due to excessive example code errors, etc. I playfully suggested that Joshua McAdams be tormented because he wasn’t able to make it Friday morning.

The panel discussion on Friday afternoon was highly entertaining and a bit of a kangaroo court for Bobby Bobby Moore of MicrosoftMoore of Microsoft. I do not believe Mr. Moore was expecting Bruce Perens to repeatedly ask very pointed and informed questions. Moore did an excellent job of remaining cool and listening with an open mind to the criticism of Microsoft as a company. He explained that, yes, Microsoft did some not so nice things in the past but they are attempting to work with the open source community. Bruce Perens, Jon “Maddog” Hall, and James Bottomley brought up the pending MS Office OpenXML standard format issue where much of the format is proprietary and the published format won’t actually be used by Microsoft. Moore conceded that it was unlikely that Microsoft would use the published format as-is but the Office developers would likely base the actually used format off of the published format. Perens, Hall, Bottomley and James Gray all expressed their opinions that this was very typical of Microsoft. (side note: Microsoft has been accused of having the attitude of Embrace, Extend, Eliminate when it comes to industry standards.)

Perens, Hall and James Bottomley, as well as members of the audience, pummeled both James Gray of IBM and Bobby Moore of Microsoft for their companies’ approach and support of software patents.

Unfortunately, I was only able to attend the first day as my mother was in town from North Dakota to visit my three month old daughter (and the rest of us). If only I could have cloned myself… Don’t forget to check out the Flickr photo group for the Flourish 2008 Conference in Chicago!

Listen to this podcast Listen to this podcast

Installing Windows Vista Service Pack 1

OS, Windows 1 Comment »

If you’re running Microsoft’s Vista os on your computer, you’ve probably noticed that the ‘updates available’ icon has shown up this morning on your task bar.

vista-sp1_taskbar1.jpg

Very likely, clicking on the icon will prompt you to install Service Pack 1 for Windows Vista.  I’m only installing it on one machine right now to see if I run into any issues before putting in on the rest of my Vista boxes.

vista.jpg
Wish me luck!

Listen to this podcast Listen to this podcast

FlickrDownload.pl

Linux, Mac OSX, OS, Perl, Windows 1 Comment »

If you’ve ever tried to back up your Flickr account or download the public Flickr photos of other users, then your options were pretty limited on Linux. After trying and failing to get FlickrDown to work under wine, I decided to write my own… in perl :)

The various Flickr API’s on CPAN are incomplete with respect to obtaining the list of public/friends photos. I had to use XML::Parser::Lite::Tree::XPath to extract the photos from each Flickr page.

By default, we obtain the largest photo available (orginal -> large -> medium -> small), populate the EXIF comments field with the Flickr photo title, description and url. We verify the file type with File::MimeInfo::Magic and change/add the file extension as necessary.

During testing I received numerous duplicate files which were mostly resolved by adding a rudimentary duplicate file checker.

It should work on just about any platform that Perl does.

Thoughts?
FlickrDownload.pl

FlickrDownload.pl

#!/usr/bin/perl

use strict;
use warnings;

use Digest::MD5 qw(md5_hex);
use Config::Simple;
use Image::ExifTool;
use File::MimeInfo::Magic qw(mimetype extensions);
use Flickr::API::Photos;
use Flickr::Person;
use Getopt::Std;
use HTML::Entities ();
use File::MimeInfo::Magic;
use IO::Scalar;
use LWP;
use Tie::File::AsHash;
use XML::Parser::Lite::Tree::XPath;

##############################

my $cfg = new Config::Simple(‘FlickrDownload.ini’);

my $user_name;
my $id;
my $email;
my %arg_options;
my $photo_directory;
my $found;

getopts(‘e:i:u:’, \%arg_options);

$user_name = $arg_options{u};
$id = $arg_options{i};
$email = $arg_options{e};

my $flickr_api_key = $cfg->param(‘Flickr.API_KEY’);
my $flickr_secret = $cfg->param(‘Flickr.API_SHARED_SECRET’);
my $flickr_email = $cfg->param(‘Flickr.email’);
my $flickr_password = $cfg->param(‘Flickr.password’);

##############################
sub decode_html {
  my $string = shift;

  my $new_string = HTML::Entities::decode($string);

  if ($string ne $new_string) {
    $new_string = decode_html($new_string);
  }

  return $new_string;
}
##############################

my $flickr_person = Flickr::Person->new( {
    api_key    => $flickr_api_key,
    email    => $flickr_email,
    password  => $flickr_password
  } );

if ($user_name) {
  $found = $flickr_person->find( { username => $user_name } );
} elsif ($email) {
  $found = $flickr_person->find( { email => $email } );
  $user_name = $flickr_person->username();
  $found = $flickr_person->find( { username => $user_name } );
} elsif ($id) {
  $found = $flickr_person->id( {id => $id} );
  $user_name = $flickr_person->username();
  $found = $flickr_person->find( { username => $user_name } );
}

if ( $found ) {
  my $page_num = 1;
  my $more_pages = 1;
  my $api = $flickr_person->{people_api}->{api};

  $photo_directory = $cfg->param(‘Photos.directory’) . "/" . $user_name;
  $api->{api_secret} = $flickr_secret;

  my $flickr_photos = Flickr::API::Photos->new(
    $flickr_api_key,
    $flickr_email,
    $flickr_password);

  unless (-d $photo_directory) {
    mkdir $photo_directory
      or die (‘Unable to create directory "’ . $photo_directory . ‘"’ );
  }

  # for determine whether we might be downloading a duplicate, we need a hash with
  #   the MD5 sum & filename.  We tie both hashes to a file in the flickr user’s
  #   directory
  tie my %MD5_HASH, ‘Tie::File::AsHash’, $photo_directory . "/.md5s", split => ‘:’
    or die "Problem tying %hash: $!\n";

  tie my %FILES_HASH, ‘Tie::File::AsHash’, $photo_directory . "/.files_md5s", split => ‘:’
    or die "Problem tying %hash: $!\n";

  while ($more_pages) {
    my $response = $api->execute_method(‘flickr.people.getPublicPhotos’, {
      api_key    => $flickr_api_key,
      user_id    => $flickr_person->id,
      per_page  => 500,
      page    => $page_num
      } );

    my $xpath = new XML::Parser::Lite::Tree::XPath($response->{tree});
    my @nodes = $xpath->select_nodes(‘/photos/photo’);

    if ($#nodes > 0) {
      foreach my $node (@nodes) {
        my $original_photo;
        my $photo_id = $node->{attributes}->{id};
        my $photo_hash = $flickr_photos->getInfo($photo_id);
        my $photo_title =
          $photo_hash->{‘title’}
            ? $photo_hash->{‘title’}
            : "";
        my $description =
          $photo_hash->{‘description’}
            ? decode_html( $photo_hash->{‘description’} )
            : "";

        my %photo_sizes =
          map { $_->{‘label’} => $_ }
            @{ $flickr_photos->getSizes($photo_id)->{sizes} };

        if (exists $photo_sizes{‘Original’}) {
          $original_photo = $photo_sizes{‘Original’};
        } elsif (exists $photo_sizes{‘Large’}) {
          $original_photo = $photo_sizes{‘Large’};
        } elsif (exists $photo_sizes{‘Medium’}) {
          $original_photo = $photo_sizes{‘Medium’};
        } elsif (exists $photo_sizes{‘Small’}) {
          $original_photo = $photo_sizes{‘Small’};
        } else {
          warn "Unable to find url.  Skipping photo."
        }

        printf "name: %s id: %s description: %s\n",
          $photo_title,
          $photo_hash->{‘id’},
          $description;

        my $photo_filename = $photo_directory . ‘/’ . $photo_title;
        $photo_filename =~ s/\.\w+$//;

        # Prepopulating the file extension will allow us to eliminate
        #   the vast majority of duplicate images by not downloading
        #   them in the first place.
        if (exists $photo_hash->{‘originalformat’}) {
          my $extension = $photo_hash->{‘originalformat’};
          $photo_filename .= "_" . $photo_hash->{‘id’} . "." . $extension;
        } else {
          # if we don’t know at this point what format the image file is
          #   without downloading the image, we can assume it is a jpg
          #   because the vast majority of the photos are jpg.
          $photo_filename .= "_" . $photo_hash->{‘id’} . ".jpeg";
        }

        if (-f $photo_filename && (stat($photo_filename))[7] > 2048) {
          printf "We already have photo %s .. Skipping\n", $photo_title;
        } else {
          my $FH;

          my $request = HTTP::Request->new(GET => $original_photo->{’source’} );
          my $response = $api->request($request);
          my $md5_sum = md5_hex($response->content);

          # since we have downloaded the photo, let’s put the proper file
          #   extension on it.
          if (my $file_ext = extensions( mimetype(new IO::Scalar \($response->content) ) ) ) {
            $photo_filename =~ s/\.\w+$//;
            $photo_filename .= "." . $file_ext;
          }

          if (exists $MD5_HASH{$md5_sum}) {
            printf "We already have photo %s .. Skipping\n", $photo_title;
          } else {
            $MD5_HASH{$md5_sum} = $photo_filename;
            $FILES_HASH{$photo_filename} = $md5_sum;

            open($FH, ">", $photo_filename)
              or warn ("Unable to write to $photo_filename.\n" );

            binmode $FH;
            print $FH $response->content;
            close $FH;

            # We’re going to use Image::ExifTool instead of the built in
            #  exif extracted information from Flickr::API::Photos because
            #  we want to write to the file.
            my $exifTool = new Image::ExifTool;
            my $info = $exifTool->ImageInfo($photo_filename);

            unless ($info->{‘DateTimeOriginal’}) {
              if ($photo_hash->{‘dates’}->{‘taken’}) {
                my $taken_date = $photo_hash->{‘dates’}->{‘taken’};
                $taken_date =~ s/\-/\:/g;
                $exifTool->SetNewValue("DateTimeOriginal", $taken_date);
              }
            }

            $exifTool->SetNewValue("Comment", $photo_title . ": " . $description . " " . $original_photo->{’source’});
            my $result = $exifTool->WriteInfo($photo_filename);
          }
        }
      }

      $page_num++;
    } else {
      $more_pages = undef;
    }

    untie %MD5_HASH;
    untie %FILES_HASH;
  }
}

FlickrDownload.ini

[Flickr]
email=jason_froebe@email.org
password=**SuperSecretPassword**
API_KEY=**YOUR Flickr API KEY**
API_SHARED_SECRET=**YOUR SHARED SECRET FROM Flickr**

[Photos]
#  where you want to put the photos
directory=/home/jason/flickr

Listen to this podcast Listen to this podcast

Receiving a ‘runtime error’ with the drivers for Dell’s All In One 962 Photo Printer? (AIO 962)

OS, Windows No Comments »

My mom’s new Dell Vostro 1500 laptop worked quite well until we hooked it up to her Dell All In One 962 Photo printer. When we installed the printer driver software, we received a MFC C++ 6.0 “runtime error” on the dlbxmon.exe program. Reinstalling the software made no difference. What did was a full uninstall of the software and a reinstall of the software.

How to:

  1. download and run the Vista 32 bit (yes, you need the Vista software) PC Upgrade software from Dell’s web page which will completely uninstall the XP driver
  2. download and run the Windows XP driver from Dell’s web page.

You may need to reboot the machine between steps 1 & 2.

Listen to this podcast Listen to this podcast

Getting err = -39 with Apple’s iTunes?

How To, OS, Windows 12 Comments »

Yesterday I downloaded and installed the latest and greatest iTunes (version 7.4.3.1). Since then, when I download podcasts, I occasionally receive the error message err = -39. According to Apple, the cause is incompatibility between iTunes and some web acceleration software. Guess what? I’m not using web acceleration software.

Manson2k, over at Red Kawa, suggests it may be due to ReadyBoost on Windows Vista. In my case, I already have ReadyBoost disabled.

Thinking that it is probably just a corrupted cache as the episodes were receiving the -39 error but had downloaded some of the file.  When I searched the computer for an episode name, I discovered that there were a few .tmp files in my Z:\\Music\\Downloads directory with the same names of podcast episodes that were receiving the -39 error. Deleting these files allowed iTunes to download the episodes correctly. :)

Obviously, there seems to be many causes of the -39 error.  I hope Apple fixes this bug or at least gives the option to clear the download cache from iTunes.

Listen to this podcast Listen to this podcast

FW (Slashdot): DOS 5 Upgrade Video

OS, Windows, humor, misc No Comments »

Every now and then I stumble on something so ridiculous that I have to share it. This is a promotion video to upgrade to DOS 5 obviously made in a different era. Promoting features like mouse support, a graphical shell, and freeing up at LEAST 45k of memory, well, Gimme 5! Did I mention that it’s all set to a hip beat? You’ll love it. And by “Love” I mean “Stick forks in your eyes”. Read more at Slashdot

Listen to this podcast Listen to this podcast

PowerDesigner 12.5 license woes on Windows Vista

How To, OS, Sybase, Windows 2 Comments »

Have you tried installing Sybase’s PowerDesigner on Windows Vista and it complains about your license file?

Dialog showing license problem

Using licenses from:

C:\\Documents and Settings\\All Users\\Application\\DataPowerDesigner 12

Checked out graced license for 1 PD_SHELL (12) will expire Tue Sep 04 13:38:02 2007.

Failed to obtain 1 license(s) for PD_SHELL feature from license file(s) or server(s). Cannot find license file.

The license files (or license server system network addresses) attempted are listed below.

Use LM_LICENSE_FILE to use a different license file, or contact your software provider for a license file.

Feature: PD_SHELL Filename:

C:\\Documents and Settings\\All Users\\Application\\DataPowerDesigner 12

License path:

C:\\Documents and Settings\\All Users\\Application Data - PowerDesigner 12

FLEXnet Licensing error:-1,359. System Error: 2 “No such file or directory” For further information, refer to the FLEXnet Licensing End User Guide, available at http://sybooks.sybase.com/nav/detail.do?docset=833

WARNING: PowerDesigner12.5 functionality that requires the PD_SHELL license will be disabled on Tue Sep 04 13:38:02 2007, unless a suitable PD_SHELL license is obtained before that date.

system_properties.pngenv_settings.png

In Windows Vista, “C:\\Documents and Settings” was replaced with “C:\\Users”. PD is looking for the license file in the nonexistent “C:\\Documents and Settings” directory tree. The *WORKAROUND* of specifying the LM_LICENSE_FILE works but Vista has been around sufficiently long enough for PD to fix this bug.

Keep in mind, that the LM_LICENSE_FILE environment variable doesn’t seem to like spaces or any fancy characters too much.

I’ve opened a case with Sybase Technical Support regarding this. I hope to get a bug # and an estimated fix date on it.

Listen to this podcast Listen to this podcast

Just installed Sybase’s PowerBuilder 11 and Created a .NET application accessing a Sybase ASE server, a MySQL server and a PostgreSQL server

ASE, DBI, Databases, Events, MySQL, News, OS, Perl, Postgres, Powerbuilder, Sybase, TechWave, Windows 1 Comment »

Because the of the excellent sessions and a keynote at Sybase TechWave 2007, I’m picking up PowerBuilder 11. Thought it was dead? We all heard it over and over again from the VB, C++, .NET folk. Think again and check this out!

SPECIAL PLENARY SESSION — Advancing the Boundaries of Development: How IT developers will face the future.
Tuesday, 1-2:15 p.m. PDT. | View the recorded webcast

Using the PowerBuilder Application Server Plugin
Wednesday, 1 - 2 p.m. PDT. Speaker: Evan Ireland | View the recorded webcast

Using .NET Classes in PowerBuilder
Wednesday, 2:15 - 3:45 p.m. Speaker: Xue-song Wu | View the recorded webcast

Best Practices of PowerBuilder 11.0 WinForm/Smart Client Application Development
Wednesday, 4 - 5:30 p.m. Speaker: Harry Zhang | View the recorded webcast

The DataWindow in PowerBuilder WebForm Targets
Thursday, 1 - 2 p.m. Speaker: Frederick Koh | View the recorded webcast

PowerBuilder: Service Creation
Thursday, 2:15 - 3:15 p.m. Speaker: Sheila Wood | View the recorded webcast

Did you know that you can build .NET applications easily with PowerBuilder? I did, but I didn’t realize that it was very very easy! Say good bye to C# and VB.net for any database application, because PowerBuilder is back and BETTER than anything that Microsoft has to offer!

Most importantly, the video of the key note, Future Development Will Rely on Current Core Technologies, should be out in the next few days. I’ll post the link to it…. it ultimately was the final motivator to make me pick up PowerBuilder 11. Thanks to Jason Fentor for dragging me to the keynote!

UPDATE:   Future Development Will Rely on Current Core Technologies video is here!  When you open the video click down to “PowerBuilder 11: Accelerate your development”

It took me 10 minutes from knowing absolutely no PowerBuilder to building a working client/server .NET application connecting three wildly different databases (Sybase ASE, MySQL and PostgreSQL) and retrieving/updating data to them! TEN MINUTES! I expected an hour or two but ten minutes… I’m just completely floored!

Sorry, I’m not usually this impressed and try to take everything with a grain of salt, but… Sybase, with all your faults, dang! You did good!

For comparison: The same application took me 30 minutes to write in Perl, which I’m pretty good at.

Listen to this podcast Listen to this podcast

Migrating from ASE to Sybase IQ: An ASE DBA’s Perspective

ASE, Databases, Linux, OS, Sybase, TechWave, Windows No Comments »

Moving from an ASE specific application / decision support system to Sybase’s IQ.

An unconfirmed example: 1 exabyte compressed down to 270TB with 32 CPUs. Performance was ‘really fast’. Not sure what really fast really means in this situation.

Another example involved upgrading an IQ database from 12.6 to 12.7 with an arbitrary database. He corrupted a several terabyte database by applying the 12.7 binary, esd binary and alter upgrade the database. The fact that this caused a catalog store corruption needs to be handled as a corruption BUG. It was dismissed as a “dba didn’t follow the instructions” issue. I’m not sure if this was dismissed by IQ engineering or just by the presenter.

With respect to the scalability of Microsoft Windows Servers and Linux servers, the presenter provides half truths while raising the scalability of Solaris x86. His reasoning is that the thread models on Windows and Linux are inferior with managing a large number of threads. He says that this is purely an operating system issue and not a hardware one (Intel x86 based hardware). The problem with this is that the scalability issues are both software (OS) and hardware (x86). The scalability issues of the x86 architecture are well known and are still being addressed. His reasoning implies a biased opinion of ‘real’ Unix systems, which is unfortunate but isn’t unusual for people used to working exclusively or primarily with the classical Unix systems.

He does provide a good overview of the IQ system components. He properly stresses that if a query is running slower that what you would expect, to check to see where each component of the query is running.

For example:

Select col_a, col_b from my_table where col_a in (select getdate() )

Will cause all of the data from my_table to be sent to the SQL Anywhere (ASA) engine just so the getdate() search argument can be processed.

A better method would be to do:

Select col_a, col_b from my_table where col_a in (select getdate() from dummy_table)

This is because IQ requires a FROM clause in every query, so it hands it off to the SQL Anywhere engine.

He made the argument that if you have two ASE servers on the same box, they are completely separate in the sense that they don’t share the same resources. This isn’t exactly true. They will often share the same CPUs (a single dataserver process quite often can be handled by different CPUs at different times), network cards, disk subsystems, etc. Granted, the instructor was stating it to differentiate ASE and ASIQ.

He makes the statement that the dump file is not useful to obtain viable data out of it by unscrupulous individuals. I find the credibility of this statement to be totally and completely B.S. Even encrypted dump files, a new feature in the upcoming

He makes another statement that db devices on raw devices and file systems are the same in performance in AIX and Solaris. Not true. When O_DIRECT is used on the files, the top performance is still roughly 80% of raw devices. I’m not sure why he is stating this.

In theory, it is possible to deadlock an IQ server, but I haven’t been able to. Just out of curiosity, has anyone been able to deadlock an IQ server? Hmmm. I wonder.

Please keep in mind that he knows IQ quite well and I’m not in any way questioning his knowledge of IQ. I do believe that his understanding of the operating systems is not complete. Not everyone can be an expert at everything ;-) I have high standards with Sybase employees. Perhaps I’m raising the bar too high in this particular case.

Listen to this podcast Listen to this podcast

Unable to connect to a VPN with Windows Vista Business/Ultimate after joining it to a domain?

OS, Windows 4 Comments »

If you’re running Microsoft Windows Vista Business or Ultimate edition and the machine is part of an Active Directory (or Samba) domain, you might run into problems when connecting to a VPN (Virtual Public Network).

When you go through Vista Start -> Connect To -> Set up a connection or network -> Connect to a workplace:

VPN.jpg

After you go through the process of adding the VPN, the dialog box just disappears or it says it can’t connect.

If you look at the Event log, it may show errors 651, 1068 or 1297 when starting the firewall, telephony, application layer gateway service, or remote access connection manager. If you attempt to start the services manually, you will very likely get the same errors.

Cause: The permissions required to start these services have been revoked when you joined the computer to a domain. When the (domain) group policy includes “user rights assignment -> adjust memory quotas for a process”, Vista will wipe out any local permissions for this particular setting.

Workaround: Reset the policy for “user rights assignment -> adjust memory quotas for a process”. A word of warning, contact your windows system administrator for permission to do this or have that person do it. DO NOT DO THE FOLLOWING WITHOUT EXPRESS PERMISSION FROM YOUR SYSTEM ADMINISTRATOR! You will need to have local administrator rights for this.

Control Panel -> Administrative Tools -> Local Security Policy -> Local Policies -> User Rights Assignment

policy.jpg

Make sure that LOCAL SERVICE and NETWORK SERVICE are listed.

Next, start the command prompt in Administrator Mode: Vista Start -> Accessories -> (right click on Command Prompt and choose “Run as Administrator”):

command_prompt.jpg

Type “gpupdate“.

Finally, reboot the machine. The services should start right up now. Go and reset up your vpn. :)

Listen to this podcast Listen to this podcast

Task-Focused Programming with Mylar video no longer works.

Linux, OS, Windows, misc No Comments »

On the web page http://www.eclipse.org/mylar/start.php
Webinar: Task-Focused Programming with Mylar by Mik Kersten (56 min, Oct 2006)
5-15 min: task management demo
15-30 min: task context demo
34-40 min: technology & frameworks

The adobe link is http://adobedev.adobe.acrobat.com/p46246963

What happens is that that the web page comes up (flash) showing:

Adobe Acrobat Connect Professional: Connecting…

adobe.jpg

The status bar on the firefox is showing “Read admin.abobe.acrobat.com”.

This is occurring on Linux (Firefox 32bit), Windows XP SP2 IE 6 and 7 - latest flash player on both platforms.

I’m suspecting that either the webinar is no longer available or that the video server is unavailable for some reason.

I’ve opened a ticket with Adobe to investigate the matter.

UPDATE:  The problem now only occurs with flash on the Linux platform.  It works fine on MacOSX.

Listen to this podcast Listen to this podcast

Making headway on the Sybase::TdsServer and Sybase::RepAgent perl modules

DBI, Databases, News, OS, Perl, Postgres, RepAgents, Replication Server, Sybase, Windows, subversion 2 Comments »

Remember my Sybase Replication Server: custom built RepAgents with Perl! post back last year? Well, not only am I the new maintainer, but I finally have it working in a test environment. It isn’t ready for a new release for Sybase::TdsServer and Sybase::RepAgent, yet, but expect one soon.

My main development environment for these two modules is:

I’m hoping to get out my first CPAN release to the perl testers within the next month or so. Why the delay? My wife and I are expecting family and friends to stay with us for the next few weeks. That’s a very good thing :)

Listen to this podcast Listen to this podcast

Unix processes - How Unix Multitasks

Databases, Linux, Mac OSX, OS, Windows No Comments »

IBM has a new article by Martin Streicher that explains just how Unix processes are able to multitask.

Speaking UNIX, Part 8: UNIX processes

03 Apr 2007

On UNIX® systems, each system and end-user task is contained within a process. The system creates new processes all the time and processes die when a task finishes or something unexpected happens. Here, learn how to control processes and use a number of commands to peer into your system.

At a recent street fair, I was mesmerized by the one-man band. Yes, I am easily amused, but I was impressed nonetheless. Combining harmonica, banjo, cymbals, and a kick drum — at mouth, lap, knees, and foot, respectively — the veritable solo symphony gave a rousing performance of the Led Zeppelin classic “Stairway to Heaven” and a moving interpretation of Beethoven’s Fifth Symphony. By comparison, I’m lucky if I can pat my head and rub my tummy in tandem. (Or is it pat my tummy and rub my head?)

Lucky for you, the UNIX® operating system is much more like the one-man band than your clumsy columnist. UNIX is exceptional at juggling many tasks at once, all the while orchestrating access to the system’s finite resources (memory, devices, and CPUs). In lay terms, UNIX can readily walk and chew gum at the same time.

This month, let’s probe a little deeper than usual to examine how UNIX manages to do so many things simultaneously. While spelunking, let’s also glimpse the internals of your shell to see how job-control commands, such as Control-C (terminate) and Control-Z (suspend), are implemented. Headlamps on! To the bat cave!

Read more

The article provides a wonderful overview with commands you can run to monitor your own Unix (or Linux or even MacOSX) box. Understanding how Unix/Linux/MacOSX works is not always so easy. I can’t stress enough that DBAs need to know the operating system that their databases reside on.
This was reported on Digg, Slashdot and a myriad of other sites.

Listen to this podcast Listen to this podcast

FW: Daylight Savings Time - Fix for Windows 2000 Servers

OS, Windows No Comments »
posted on March 5, 2007 8:47 AM. by Brandon Ewing
Brandon Ewing

As my compadre TL mentioned last week on this blog, a change in DST(Daylight Savings Time) for the nation has resulted in the need for an update of timezone data for all servers within our network. While for most machines, this can be resolved with a simple vendor-supplied patch, users supporting their own OSes that are no longer covered by vendor support (IE, Windows 2000) appear to be left out in the cold regarding this change. Fortunately, by using commonly available tools, Windows 2000 users are able to modify the timezone data on their local machine to reflect this new change. Read on for more information!

Read more… 

Listen to this podcast Listen to this podcast

The Sad State of Mac OSX Printer Drivers

Mac OSX, OS, Windows 1 Comment »

So you bought a brand spanking new Apple iBook laptop. The latest and greatest of everything. You fire up Microsoft Office and hit the print button sending your 10 page document to your new Canon Printer. Nothing happens. You turn off the printer and turn it back on. Hit print. Nothing happens.Canon logo

Unfortunately this is all too common when printing from OSX to a printer hosted on a Microsoft Windows box. The printer manufacturers create wonderful printer drivers if you hook up the printer directly to your Macintosh or have it connected to another Mac. If the printer is hooked up to a Windows box, too bad.

Steve Jobs, Apple CEOMost printer manufacturers are too lazy and just don’t care about mixed environments. Sure, you can go with a third party printer driver, but why should you have to pay another $60 just to print FROM ONE COMPUTER with no guarantee from the third party that the driver will really work? Apple needs to push the printer manufacturers to allow for printing to remote printers (Windows Shared Printers, IPP printers, etc). At best this is blatent neglect from the printer manufacturers and Apple itself.

Mister Jobs, please please prove you have the cojones to stand up for us with the printer manufacturers!

The official response from Canon? Canon recommended buying a second printer.

Listen to this podcast Listen to this podcast

Geek Philosophy

Linux, News, OS, Perl, Windows, misc