FW (MAKE): Robert Bruce Thompson on the demise of the chemistry set

Family, Gadgets, How To, misc No Comments »


read more…

It’s sad that we have become so terrified of litigation that we safe-tify the world that we simply dumbify ourselves and our children.

Listen to this podcast Listen to this podcast

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

How to install and run Sybase Adaptive Server Enterprise 12.5.4 and 15.0x on Ubuntu Linux 8.04 JEOS (Hardy Heron) using chroot environment

ASE, Backup Server, Databases, How To, Linux, OS, Replication Server, Sybase 2 Comments »

Because Sybase has yet to address the GLIBC (LD_POINTER_GUARD) issue with any of their products on Linux, we are forced to find alternative ways of getting Sybase software to run on modern Linux distribution.  In this situation, we will be using the Ubuntu 8.04 Just Enough OS (Ubuntu JEOS) Linux distribution.

After installing Ubuntu 8.04 Server JEOS on the physical or virtual machine, download the Ubuntu 7.04 Server iso image.  Why Ubuntu 7.04?  Ubuntu 7.04 is the last Ubuntu release that has an old enough GLIBC that Sybase software will work with.

% sudo debootstrap feisty /home/sybase file:///media/cdrom0

  • Change the home directory of the sybase user to be /dbms/sybase by editing the /etc/passwd file

% sudo cp /etc/resolv.conf /home/sybase/etc/resolv.conf

% sudo cp /etc/hosts /home/sybase/etc/hosts

% sudo cp /etc/passwd /home/sybase/etc/passwd

% sudo cp /etc/shadow /home/sybase/etc/shadow

% sudo `cat /etc/apt/sources.list | sed -e ’s/hardy/feisty/g’ > /home/sybase/etc/apt/sources.list`

% sudo mount –bind /dev /home/sybase/dev

% sudo mount –bind /proc /home/sybase/proc

% sudo mount -t devpts none /home/sybase/dev/pts

% sudo mount –bind /tmp /home/sybase/tmp

% sudo aptitude update

% sudo aptitude upgrade

% sudo apt-get install locales dialog wget debconf devscripts gnupg

% sudo aptitude install libstdc++5 libstdc++6 libaio

  • If you’re installing v12.5x software, you will need to install an even older copy of libstdc++ (not needed for v15 or higher software):

% aptitude install libstdc++2.10-glibc2.2

  • Install Sybase software into /dbms/sybase (as root in the chroot environment which you should still be in)

% sudo cp /dbms/sybase/SYBASE.sh /dbms/sybase/SYBASE.env

% sudo echo DSQUERY=MYASE >> /dbms/sybase/.SYBASE.env

% sudo echo sa_password > /dbms/sybase/.sapwd

% sudo chmod go-rwx /dbms/sybase/.sapwd

% sudo chmod u-wx /dbms/sybase/.sapwd

% sudo chown -R sybase /dbms/sybase

  • Install the sybase_chroot script into /usr/local/bin and make it executable by root
  • Install the sybase_ase rc script into /etc/init.d and make it executable by root
  • Exit the chroot environment by typing ‘exit’
  • create a symbolic link outside of the chroot environment to make /home/sybase/dbms appear as /dbms.  This will allow you to access the Sybase software, notably OpenClient, as a normal user outside of the chroot environment.

% sudo ln -s /home/sybase/dbms /dbms

You are now able to start Sybase ASE using sudo /etc/init.d/sybase_ase start and stop Sybase ASE using sudo /etc/init.d/sybase_ase stop.  Starting Sybase Replication Server, OpenServer, or similar Sybase software is simply a matter of copying the /etc/init.d/sybase_ase and tweaking the script copy.

If you feel this is way complicated and Sybase should just fix their software, let them know.  Please point them to this page and refer to CR455393.

UPDATE: The GLIBC issue is fixed in v15.0.2 esd 4.  It doesn’t seem to be working for everyone though.  More information is needed about those systems where esd 4 doesn’t resolve the matter.  No fix is available for 12.5x from Sybase.

UPDATE: Keep in mind, that the Sybase ASE 15.0.2 esd 4 patch is available only to Sybase customers with a current maintenance contract with Sybase.

Listen to this podcast Listen to this podcast

Learning from Google

How To, Training, misc No Comments »

I think we can all learn a little from Google.  How many times have you cringed at Sybase Central?

Google User Experience

Our aspirations

The Google User Experience team aims to create designs that are useful, fast, simple, engaging, innovative, universal, profitable, beautiful, trustworthy, and personable. Achieving a harmonious balance of these ten principles is a constant challenge. A product that gets the balance right is “Googley” – and will satisfy and delight people all over the world.  — read more at Google

Thanks goes to adrianh over on Twitter.com for finding this! :)

Listen to this podcast Listen to this podcast

In Wordpress 2.5.1 - finding the missing comments in the admin -> show all comments

How To, Wordpress 1 Comment »

If you have comments in your Wordpress 2.5.1 blog but the admin page says you don’t:

Then you probably have a missing index on the table wp_comments.  You just need to add an index on column comments_date_gmt:

Listen to this podcast Listen to this podcast

Using AviDemux 2.4.1 to convert a video to h.264 mpeg4 for the Sony Playstation 3

Gadgets, How To, Linux, OS 1 Comment »

Hi all,

After trial and error, I finally figured out how to convert an old divx 3 (you know, the old hacked version of the codec) video file to a format that my Sony Playstation 3 (PS3) could handle.  Why is it that Sony has made the PS3 to be such a finicky beast when it comes to reading video files, I will never know:

How to convert a video file using AviDemux v2.4.1 on Ubuntu 8.04 (Hardy Heron):

  • Load the original video file into AviDemux
  • Auto -> PSP (H.264) - choose defaults

  • Video -> Configure -> 2 Pass

  • Format -> MP4

  • Save with the extension “.mp4″

If you’re going to put the video on an USB thumbdrive, you will need to create a folder:

  • On the USB Thumbdrive:   VIDEO
  • Group videos with subdirectories:  VIDEO / SCIFI

Listen to this podcast Listen to this podcast

GeekBrief.tv episode 361: Brian Albert of My Home 2.0

How To, humor No Comments »

There are several people at work that Brian Albert remind me of My Home 2.0

Listen to this podcast Listen to this podcast

Combining multiple Adobe PDF files into a single PDF file

How To, Linux, OS No Comments »

After I downloaded a few eBooks from Bruce Perens’ Open Source Series, I noticed that several of the books were zip files containing the chapters as individual PDF files.  I don’t know about you, but I would rather hava a single monolithic PDF file for each book.

By using Ghostscript and pdftk, we are able to create the PDF file with no problem:

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE="Implementing CIFS The Common Internet File System.pdf" -dBATCH frontmatter.pdf content.pdf foreword.pdf intro.pdf ch01.pdf  ch02.pdf  ch03.pdf  ch04.pdf  ch05.pdf  ch06.pdf  ch07.pdf  ch08.pdf  ch09.pdf  ch10.pdf  ch11.pdf ch12.pdf  ch13.pdf  ch14.pdf  ch15.pdf  ch16.pdf  ch17.pdf  ch18.pdf  ch19.pdf  ch20.pdf  ch21.pdf  ch22.pdf ch23.pdf  ch24.pdf  ch25.pdf  ch26.pdf apa.pdf apb.pdf apc.pdf apd.pdf glossary.pdf references.pdf index.pdf

On Ubuntu Linux, you can quickly install these two tools with a single command:

aptitude install gs pdftk

Listen to this podcast Listen to this podcast

How to fix your parents’ Windows computer remotely

How To 1 Comment »

Save yourself a headache and use the OneClick VNC Utility from VNCScan.com. The geeks of Hak5, in episode 3×05, demonstrate just how easy it is. The steps are very simple:

You:

  1. edit the settings.ini file to include your domain name or ip address. Hint: use a dynamic DNS service like DynDNS (free!) to give yourself a DNS name like mywifeisdueanytime.dyndns.org
  2. forward incoming VNC traffic to your home computer
  3. use Paquet Builder to bundle the settings.ini and the OneClick VNC Utility into a single executable
  4. Put the executable somewhere on your website

Your parents:

  1. download the executable and double click on it

You now have control of their computer so you can fix whatever issue they are having.  The free version of LogMeIn should also work fine.

Listen to this podcast Listen to this podcast

VMware Workstation 5 or 6 and trying to start a 64bit os?

How To, misc No Comments »

Is you’re running on an Intel x86-64 processor based box and VMware Workstation complains that the host machine is incompatible with working with your Windows 2003 64bit client os (or any other 64bit client OS)?  Well, go into your BIOS on boot and make sure that the VT functionality is enabled.

Listen to this podcast Listen to this podcast

Porting MySQL’s date_format function to Sybase ASE 15.0.2

ASE, Databases, How To, MySQL, Sybase 1 Comment »

Did you ever wish Sybase ASE’s date formating capabilities weren’t so antique and unwieldy? Did you ever look at MySQL’s date_format() function and wish Sybase would do something like that? Yup, I’m still waiting for Sybase to fix this 15 year issue too. :(

In the meantime, using ASE 15.0.2’s user defined SQL function feature, I’ve been able to port the MySQL date_format() function to an user defined function:

Specifier Description
%a Abbreviated weekday name (Sun..Sat)
%b Abbreviated month name (Jan..Dec)
%c Month, numeric (0..12)
%d Day of the month, numeric (00..31)
%e Day of the month, numeric (0..31)
%f microseconds (000000..999999)
%H Hour (00..23)
%h Hour (01..12)
%I Hour (01..12)
%i Minutes, numeric (00..59)
%j Day of year (001..366)
%k Hour (0..23)
%l Hour (1..12)
%M Month name (January..December)
%m Month, numeric (00..12)
%p AM or PM
%r Time, 12-hour (hh:mm:ss followed by AM or PM)
%S Seconds (00..59)
%s Seconds (00..59)
%T Time, 24-hour (hh:mm:ss)
%U Week (00..53), where Sunday is the first day of the week
%u Week (00..53), where Monday is the first day of the week
%V Week (01..53), where Sunday is the first day of the week; used with %X
%v Week (01..53), where Monday is the first day of the week; used with %x
%W Weekday name (Sunday..Saturday)
%w Day of the week (0=Sunday..6=Saturday)
%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y Year, numeric, four digits
%y Year, numeric (two digits)
%% A literal “%” character

Usage:

SELECT DATE_FORMAT(GETDATE(), ‘%T’)

OUTPUT:

07:50:24
SELECT DATE_FORMAT(GETDATE(), ‘%m/%d/%y %a %h:%i:%s %p %f’)

OUTPUT:

10/10/07 Wed 08:04:24 AM 730000

Code: udf_date_format.sql

CREATE FUNCTION DATE_FORMAT (@now DATETIME, @format VARCHAR(2000))
RETURNS VARCHAR(2000) AS
BEGIN
 SELECT @format = str_replace(@format, ‘%r’, ‘%h:%i:%s %p’)
 SELECT @format = str_replace(@format, ‘%T’, ‘%H:%i:%s’)
 SELECT @format = str_replace(@format, ‘%b’, SUBSTRING(DATENAME(mm, @now), 1, 3) )
 SELECT @format = str_replace(@format, ‘%M’, DATENAME(mm, @now))
 SELECT @format = str_replace(@format, ‘%a’, SUBSTRING(DATENAME(dw, @now), 1, 3) )
 SELECT @format = str_replace(@format, ‘%W’, DATENAME(dw, @now))
 SELECT @format = str_replace(@format, ‘%w’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(dw, @now) - 1), 2) )
 SELECT @format = str_replace(@format, ‘%U’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(wk, @now) - 1), 2) )
 SELECT @format = str_replace(@format, ‘%V’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(wk, @now)), 2) )

 SELECT @format =
  CASE
   WHEN DATEPART(dy, @now) = 1
    THEN str_replace(@format, ‘%u’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(wk, @now) - 1), 2))
    ELSE str_replace(@format, ‘%u’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(wk, DATEADD(dw, -1, @now) ) - 1 ), 2) )
  END

 SELECT @format =
  CASE
   WHEN DATEPART(dy, @now) = 1
    THEN str_replace(@format, ‘%v’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(wk, @now)), 2))
    ELSE str_replace(@format, ‘%v’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(wk, DATEADD(dw, -1, @now) )), 2) )
  END

 SELECT @format = str_replace(@format, ‘%c’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(mm, @now)), 2))
 SELECT @format = str_replace(@format, ‘%m’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(mm, @now)), 2))
 SELECT @format = str_replace(@format, ‘%d’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(dd, @now)), 2))
 SELECT @format = str_replace(@format, ‘%e’, CONVERT(VARCHAR(2), DATEPART(dd, @now)))
 SELECT @format = str_replace(@format, ‘%y’, SUBSTRING( CONVERT(VARCHAR(4), DATEPART(yy, @now)), 3, 2))
 SELECT @format = str_replace(@format, ‘%Y’, CONVERT(VARCHAR(4), DATEPART(yy, @now)))
 SELECT @format = str_replace(@format, ‘%X’, CONVERT(VARCHAR(4), DATEPART(yy, @now)))
 SELECT @format = str_replace(@format, ‘%x’, CONVERT(VARCHAR(4), DATEPART(yy, @now)))
 SELECT @format = str_replace(@format, ‘%H’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(hh, @now)), 2))

 SELECT @format =
  CASE
   WHEN DATEPART(hh, @now) > 12
    THEN str_replace(@format, ‘%h’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(hh, @now) - 12), 2))
    ELSE str_replace(@format, ‘%h’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(hh, @now)), 2))
  END

 SELECT @format =
  CASE
   WHEN DATEPART(hh, @now) > 12
    THEN str_replace(@format, ‘%I’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(hh, @now) - 12), 2))
    ELSE str_replace(@format, ‘%I’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(hh, @now)), 2))
  END

 SELECT @format = str_replace(@format, ‘%k’, CONVERT(VARCHAR(2), DATEPART(hh, @now)))

 SELECT @format =
  CASE
   WHEN DATEPART(hh, @now) > 12
    THEN str_replace(@format, ‘%l’, CONVERT(VARCHAR(2), DATEPART(hh, @now) - 12))
    ELSE str_replace(@format, ‘%l’, CONVERT(VARCHAR(2), DATEPART(hh, @now)))
  END

 SELECT @format =
  CASE
   WHEN DATEPART(hh, @now) > 12
    THEN str_replace(@format, ‘%p’, ‘PM’)
    ELSE str_replace(@format, ‘%p’, ‘AM’)
  END

 SELECT @format = str_replace(@format, ‘%i’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(mi, @now)), 2))
 SELECT @format = str_replace(@format, ‘%s’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(ss, @now)), 2))
 SELECT @format = str_replace(@format, ‘%S’, RIGHT(REPLICATE(‘0′, 2) + CONVERT(VARCHAR(2), DATEPART(ss, @now)), 2))
 SELECT @format = str_replace(@format, ‘%f’, RIGHT(REPLICATE(‘0′, 6) + CONVERT(VARCHAR(6), DATEPART(ms, @now) * 1000), 6))
 SELECT @format = str_replace(@format, ‘%j’, RIGHT(REPLICATE(‘0′, 3) + CONVERT(VARCHAR(3), DATEPART(dy, @now)), 3))
 SELECT @format = str_replace(@format, ‘%%’, ‘%’)

 RETURN @format
END

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

Modifying sp__revindex so it doesn’t print the “go”

ASE, Databases, How To, Sybase No Comments »

I’m in the process of creating a suite of perl modules that use Ed Barlow’s sp__rev* procedures. I’ve noticed that the @dont_format parameter isn’t being used in sp__revindex so I made use of it to drop the “go” from being included in the result set.

The reason why I don’t want the “go” is because I want just the ddl of the index and not a SQL script. The default behavior is to show the “go”.

Read the rest of this entry »

Listen to this podcast Listen to this podcast

How to read batches of SQL from a file in Perl

ASE, DBI, Databases, How To, Perl, Sybase 3 Comments »

Update: I fixed the code to actually use the iterator as an iterator :)

Scenario: You have a Perl application that performs lots of stuff but you are handed a SQL text file that you need to run on a regular basis from within your application.

Solution #1: Call isql from within your Perl application to run the SQL text file. This makes your code dependent on an external program.

`$<a href="http://www.sybase.com"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://froebe.net/blog/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">SYBASE</a>/$SYBASE_OCS/bin/isql -U $login -P $pass -S $DBMS -i $SQL_FILE`;

Solution #2: Read the SQL text file and send each batch to the database using Perl. In this case, we aren’t performing any real parsing of the SQL itself, we are simply retrieving the individual SQL batches. I’m using Rintaro Ishizaki’s Iterator::Simple Perl module so we can very easily get the next SQL batch.

Our Perl module:

package dbS::Sybase::Parse::SQL_File;

use warnings;
use strict;

use Iterator::Simple qw(iterator);

BEGIN {
    use Exporter ();

    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
    $VERSION = 1.0.0;

    @ISA = qw(Exporter);
    @EXPORT_OK = qw(&get_batch);
}

our $FH;

#############################
sub _open_file {
    my $file = shift;

    my $FH;

    open ($FH, "< ", $file)
       or warn("unable to open $file file\\n");

    return $FH;
}

#############################
sub get_batch {
   my ($file, $delimiter) = @_;

   # The delimiter is a single or multiple characters
   #  that are on a line by itself.
   $delimiter = ‘go’ unless $delimiter;

   if ( my $FH = _open_file($file) ) {
     # Why use an iterator?  The SQL file may be huge
     #  so we want to retrieve only a single batch at
     #  a time.
      iterator {
         if (fileno $FH) {
           # Since this is an iterator, we need to
           #  verify that the $FH filehandle is valid.
           # fileno() will return a file descriptor
           #  if the $FH file handle is valid else
           #  it will return undef.
           my $query = "";

           while (my $line = <$FH>) {
                chomp $line;
                last if ($line =~ m/^$delimiter\\s*$/i);
                $query .= $line . " ";
           }

           return $query;
        }
    }
  }
}

1;

Obtaining the individual batches are now very easy. Note, that we are making several assumptions:

  1. SQL batches end with a go (case insensitive)
  2. SQL code is valid
  3. security of the SQL text file is handled by the operating system (we’re not going to worry about SQL injection attacks at this level)
use dbS::Sybase::Parse::SQL_File qw(batch);

….

if ( my $batch = dbS::Sybase::Parse::SQL_File::get_batch("SQL/SNAP.sql") ) {
        print "-"x40 . "\\n";
        print " Performing IGOR\\n";
        print "-"x40 . "\\n";

        while ( my $sql_batch = $batch->next ) {
            dbh_do($local_dbh, $sql_batch);
        }
}

Granted, we could have performed this without the iterator, but this is just the first revision. I expect to be adding a lot more to it (e.g. T-SQL verifier) so that I can hide the complexity behind the iterator.

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

FW: Scanning your iPhone Backup Files

ASE, DBI, Databases, Gadgets, How To, Mac OSX, Microsoft, MySQL, OS, Perl, SQL Server, Sybase No Comments »

Erica Sadun wrote an application, written in Perl, to convert your iPhone backup files into a SQLite3 database:


Here’s a nice way to recover notes from your iPhone without having to mail them to yourself–although it’s not for the faint of heart. Read more at The Unofficial Apple Weblog

It would be a simple matter to have the data imported in to your favorite DBMS if you prefer Sybase ASE, MS SQL Server, dBASE / xBase, etc.

Listen to this podcast Listen to this podcast

FW: Writing a WordPress Plugin

How To No Comments »

Over at Headzoo, they wrote an article of how to write a plugin for the WordPress blogging software (the software that we use):

Writing a WordPress plugin is really very simple. This post is going to guide you through the process of writing your first plugin. Of course you need to know PHP before you can write a plugin, and if you don’t know PHP, you can learn it using my Barney style PHP tutorials.

Read more…

Listen to this podcast Listen to this podcast

Sybase Technology Previews / Beta Testing

Databases, How To, News, Sybase No Comments »

Did you know that Sybase often will call for beta testers for new products and new versions of existing products? Did you know that many times Sybase doesn’t quite actually make the call for beta testers public? I mean, there might be a blurb in the newsgroups but usually not?

Want to find out which beta test programs are currently available? Contact your Sybase Representative! (Hint hint: ask them to have a webpage built that lists all available beta programs that you can sign up for - that way you’re not bugging them ;-)

Listen to this podcast Listen to this podcast

Unable to remotely connect to VMware Server on Ubuntu 7.04 (Feisty)?

How To, Linux, OS No Comments »

VMware Server running on Ubuntu 64bit:

The problem is that the Ubuntu package is a 32bit package and doesn’t take into consideration that pam 64bit will try to load the 32 bit libraries as 64 bit libraries. The workaround, discovered by PLM is to replace /etc/pam.d/vmware-authd with:

#%PAM-1.0
auth       sufficient       /usr/lib/vmware-server/lib/libpam.so.0/security/pam_unix2.so shadow nullok
auth       required         /usr/lib/vmware-server/lib/libpam.so.0/security/pam_unix_auth.so shadow nullok
account    sufficient       /usr/lib/vmware-server/lib/libpam.so.0/security/pam_unix2.so
account    required         /usr/lib/vmware-server/lib/libpam.so.0/security/pam_unix_acct.so

VMware Server running on Ubuntu 32bit:

The problem is that for Ubuntu 32bit, the pam authentication lines in /etc/pam.d/vmware-authd are wrong and need to be replaced by:

#%PAM-1.0
auth required pam_unix_auth.so shadow nullok
account required pam_unix_acct.so

Listen to this podcast Listen to this podcast

Podiobooks.com: Unable to download the mp3s?

How To 1 Comment »

The Podiobooks.com servers currently allow for 2 simultaneous download connections at a time. If a third connection is started, it will receive a 403 error message. Some Podcast aggregators have trouble with the 403 error and save the 403 error text as the mp3 file it was trying to download!

How to fix: If there is a setting in your podcast aggegator to download X number files at a time, set it to no more than two. If your podcast aggegator doesn’t have this feature, contact whomever makes the software and request the feature - cite this post if you wish :)

Had to write this before I forgot about writing it - it’s been so busy lately with a pregnant wife :)

UPDATE: Received email back from podiobooks.com.  This is a temporary issue that they are working out with libsyn (which hosts their mp3s).  This is good news :)

Listen to this podcast Listen to this podcast