Decision Support Systems… how far we’ve come :)

At the dawn of Data Warehouse thinking, primitive decision support systems were poking their collective heads out of the murky depths of the early 1980s. Twenty three years later we have real data warehouses such as Sybase’s IQ. An episode of the Computer Chronicles on the Internet Archive provides a time machine:

[flashvideo width=”320″ height=”240″ filename=”” returnpage=”” /]

Decision Support Systems (2/2/1984)

Expert systems software and artificial intelligence applications.
Host: Stewart Cheifet
Guests: Gary Kildall, DRI; Mike Thoma, Mgmt Decisn Sys; Steve Weyl, Syntelligence; Jim Chapman, Human Edge SW
Products/Demos: Strategic Simulations Epidemic, Prospector, CompuStat, Easy Scan, Sales Edge
This item is part of the collection: Computer Chronicles
Keywords: Episode year: 1984

Share Button

FW Perlmonks: git for Perl projects

git for Perl projects?

by andreas1234567

I recently listened to Randal Schwartz‘ (aka merlyn) and Leo Laporte‘s podcast interview with Junio Hamano, maintainer of the git version control system, on FLOSS weekly episode 19. Mr. Schwartz revealed that he is using git for his source code management, either directly (“anything I get to choose, I use git”), or as a front-end to CVS or Subversion through git’s interface layers (“they don’t know I’m using git”).

I was intrigued by some of the features of git, for instance the ability to track the child-parent relationship for every commit using cryptographic hashes.

I’ve been using CVS up until now, but the way it prevents moving and renaming files makes me want to consider alternatives. Until I heard the above podcast that alternative has been Subversion only.

The Perl projects I work on are neither very large nor distributed. Should I consider git as my future SCM for Perl projects? What are the Monks’ experience with using git in Perl projects?


Andreas brings up an interesting question:  What should we use for Perl development.  I replied to Andreas with:

Re: git for Perl projects?
by jfroebe on Sep 28, 2007 at 21:24 GMT-6

For the most part, it really doesn’t matter which version control system you use. Think about it.. for most open source or even commercial projects, you have a small number of developers that are active on the project. Usually in the single digits. The level of sophistication required of the version control system isn’t pretty high – checkout/checkin/comment/etc. It isn’t until you have a lot more developers, a very complex project, or some other thing. Using CVS, Subversion, GIT, rcs, or even SCCS will work fine for most projects.

GIT is just the revision control system flavor of the week for primarily the Linux kernel developers. If you want to use it, do so. If not, don’t worry about it. Use what feels comfortable to you.

hope this helps,

Jason L. Froebe

Share Button

ISUG, Board of Directors and me

After talking with Mike Harold, the Executive Director of ISUG, I’ve nominated myself for one of the three Director positions on the ISUG board of directors.  I asked Mike many many questions, both on the sybase-l mailing list and in private emails. 

Mike Harrold
Posted: Sep 21, 2007 01:54 PM
Subject:  re: How to be placed on the ballot for the next election?


Nominations can be submitted by completing the nomination form at:

But first, read the news item at:

There are qualifications for some positions that need to be met otherwise the nominations will be rejected. Obviously it is much better if people read the requirements before they nominate themselves, but that sometimes doesn’t happen…


Mike Harrold
Executive Director
International Sybase User Group
Email: Mike.Harrold@NOSPAMMING!
Support the Sybase Community and
Join ISUG today at

I would like to try to help ISUG and the Sybase community more than just being a member of TeamSybase and this blog.  Please vote for me when the ballots are given out.


Share Button

Sybase Employees, TechWave and Photos

Back in August I asked Sybase their policy of photographing Sybase employees at TechWave in public areas:

I know that attendees sign a disclosure when they register for TechWave regarding photos taken of them for the duration of the conference. Although it is common courtesy for the photographer (even a poor one like me  😉  to ask permission.

What exactly is the deal with Sybase employees in common areas?  Are they exempt from any photo disclosure?  That is, if a photographer asks them if he can take their photo and the employee says no (at which point photographer says ‘no problem’ and starts to turn)…  should the employee then lecture the photographer about the legality of photographing employees because the individual employees didn’t sign a photo disclosure?

When I worked for Sybase and went to TechWave, it was explained to me (by a TS Director that is now retired) that as employees, Sybase employees automatically agree to photo disclosure if they attend the conference.  If we didn’t want our photograph taken, we were to politely ask the photographer that we didn’t want our photograph taken.

I never received a reply back from Sybase so I contacted three different lawyer friends that deal with privacy laws in (Nevada, California and federal) to find out the legal rights of the photographer, the Sybase employees and attendees.  The consensus is:

  1. Attendees sign a photo disclosure when they register for TechWave if in common public areas.
  2. Sybase employees are covered under photo disclosure in common public areas by being employees of Sybase and attending TechWave.
  3. Photographers (professional or amateur) when taking portrait shots should ask whether the individual(s) would like their picture taken or not.  The photographer should respect the wishes of the individuals.   There is no legal or professional courtesy reason to ask individuals if they want their picture taken in a group shot.  If there are any disputes then the issue should be taken up with the sponsor (Sybase) which may act as an arbiter between the parties.

Common public areas do not include bathrooms, hotel rooms, etc.

Share Button

Should ISUG be more open with its members?

It appears to me that more openness from the ISUG board of directors is needed. Specifically, processes and policies in order to avoid future misunderstandings (on both sides).  I speak of the ISUG issues thread on the sybase-l mailing list.

With regards to the how the board of directors are elected…. I’ve noticed over the past few years that several of the positions had one person listed on the ballot for the position. The reasoning I was given the last two times I asked was that no one else volunteered. Now, I don’t doubt the validity of it, but I was unable to find any mention of whom volunteered prior to the election.

I humbly propose that the names of the volunteers/nominees for the ISUG board of directors (and any other electable ISUG position) be posted on the ISUG website as they are received by ISUG. If any position has less than two volunteers at 90 days before the election, ISUG would need to make a good will effort to find more volunteers/nominees.

It should be obvious but there are Sybase employees that have trouble understanding that the opinions I make are mine alone and not those of TeamSybase unless EXPLICITLY stated otherwise.

Share Button

Got hacked and now we upgraded WordPress

During the last couple of days this blog was hacked twice due to the old version of WordPress that Yahoo! install on hosted websites. The first hack was sending out a virus which was removed and the site was repaired. The second was graffiti and the deletion of about 30% of the WordPress install.

I followed the WordPress upgrade instructions but ran into a snag where the WordPress user in the MySQL database didn’t have the permissions to alter the tables in the database. There are two solutions to this:

  1. Replace the DB_USER and DB_PASSWORD in wp-config.php with the yroot login password. I didn’t know the yroot password.
  2. Use phpMySQLAdmin to grant alter table privileges to the DB_USER. Since I didn’t have grant permissions, I had to modify the mysql.user table directly. Thanks goes to Alan Guilan for the method 🙂

We are now fully upgraded to the current release of WordPress.

Share Button

BIGINT datatype prior to ASE 15.0.2?

Not quite but close! 🙂 Thomas Kennedy asked on the mailing list what the equivalent of the BIGINT datatype is:


Can anyone recommend a equivalent data type to the BIGINT (not supported in 12.5) for 12.5?

Thanks in advance,

Tom Kennedy

We can emulate the bigint on prior ASE releases by using the numeric(19,0) data type:

1> create rule rule_BIGINT as
2> @x 
3>    between
4>      (9233372036854775808 * -1) and
5>      9233372036854775807
6> go

1> sp_addtype pseudo_BIGINT, "numeric(19,0)", "not null"
2> go

1> sp_bindrule rule_BIGINT, pseudo_BIGINT
2> go

Notice that we create a user defined data type called pseudo_BIGINT based on a non-null numeric(19,0) data type. If we didn’t limit the values to between -9233372036854775808 and 9233372036854775807, the fields would over/under flow when we upgraded to v15.0.2 (or higher) and attempted to change the data type to a real BIGINT. Why must you multiply 9233372036854775808 by -1? It’s a parsing bug within ASE.

Aditya over at Sybase listed the method to convert the pseudo_BIGINT to a real BIGINT:


A word of caution: rules are automatically but temporarily disabled when a bulk copy (bcp) or select into is performed on the table. You will need to modify the data prior to importing the data or after importing.

Share Button

Feature Request: spt_values

Feature Request: increase the number of entries in spt_values to reflect the documented sysdatabases.status(1-3) bitmaps

The sysdatabases.status(1-3) bitmaps are listed in Sybooks.

1> select type,
2>      name,
3>      number,
4>      inttohex(number)
5>   from spt_values
6>   where spt_values.type in ("D", "D2", "D3", "D4")
7>   group by type order by type, number asc
8> go
 type name                         number
 ---- ---------------------------- ----------- --------
 D    DATABASE STATUS                       -1 FFFFFFFF
 D    failed upgrade                         1 00000001
 D    select into/bulkcopy/pllsort           4 00000004
 D    trunc log on chkpt                     8 00000008
 D    trunc. log on chkpt.                   8 00000008
 D    no chkpt on recovery                  16 00000010
 D    dont recover                         32 00000020
 D    not recovered                        256 00000100
 D    ddl in tran                          512 00000200
 D    read only                           1024 00000400
 D    dbo use only                        2048 00000800
 D    single user                         4096 00001000
 D    allow nulls by default              8192 00002000
 D    ALL SETTABLE OPTIONS               15900 00003E1C
 D    inconsistent security label        16384 00004000

 D2   abort tran on log full                 1 00000001
 D2   no free space acctg                    2 00000002
 D2   auto identity                          4 00000004
 D2   identity in nonunique index            8 00000008
 D2   offline                               16 00000010
 D2   unique auto_identity index            64 00000040
 D2   ALL SETTABLE OPTIONS                  79 0000004F
 D2   has suspect pages/objects            128 00000080
 D2   online for standby access           1024 00000400
 D2   mixed log and data                 32768 00008000

 D3   quiesce database                     128 00000080
 D3   user created temp db                 256 00000100
 D3   async log service                   1024 00000400
 D3   delayed commit                      2048 00000800
 D3   archive database                 4194304 00400000
 D3   compressed data                  8388608 00800000
 D3   scratch database                16777216 01000000
 D3   ALL SETTABLE OPTIONS            16780288 01000C00
 D3   compressed log                 134217728 08000000

 D4   ALL SETTABLE OPTIONS                   0 00000000

The benefit of putting the entries into spt_values is: Developers and DBAs are able to programmatically determine the current status of the databases. Currently we make our own bitmask lookup tables which can be error prone to typos and the like.

Example bitmask lookup table:

# sysdatabases.status2
my %status2 = (
    S2_ABORT_TRAN_LOGFULL                       => 0x0001,
    S2_NO_FREESPACE_ACTG                        => 0x0002,
    S2_AUTO_IDENTITY                            => 0x0004,
    S2_IDENITY_NONUNIQUE_INDEX                  => 0x0008,
    S2_OFFLINE                                  => 0x0010,
    S2_OFFLINE_FOR_RECOVERY                     => 0x0020,
    S2_AUTOIDENTITY_UNIQUE_CONSTRAINT           => 0x0040,
    S2_SUSPECT_PAGES                            => 0x0080,
    S2_BEING_UPGRADED                           => 0x0200,
    S2_ONLINE_STANDBY                           => 0x0400,
    S2_NO_CROSS_DB_ALIAS_ACCESS                 => 0x0800,
    S2_LOG_ON_NONLOG_DEVICE                     => 0xFFFF8000

The missing documented entries from spt_values are:

sysdatabases.status column:
0x02 – upgrade successful
0x64 – recovery started for all databases to be recovered

0x0100 – table structure written to disk ….
0x0200 – database in the process of being upgraded
0x0800 – cross database access via an alias mechanism disabled

0x0001 – db is user created proxy db
0x0002 – db is proxy db created by HA
0x0004 – db has a proxy db created by HA
0x0008 – disallow access to db – db being shutdown
0x0010 – db is failed over db
0x0020 – db is mounted db of type master
0x0040 – db is mounted db
0x0200 – disallow external access to db in the server in failed over state
0x1000 – db has been shutdown successfully
0x2000 – drop db in progress

Update: Sybase has created CR 481906 for this 🙂

Share Button

FW (Mike Harrold – ISUG Executive Director): Take the ISUG Survey!

Hi everyone,

I just wanted to take a couple of minutes of your time and ask you for
feedback about ISUG. Please take a moment to complete the ISUG
Survey at:

http://my.isug. com/index. php?module= survey&op= respond&sid= 20

More than 80% of the people subscribed to this mailing list are not
members of ISUG. We are very interested in hearing from those
people, especially as to why they are not members. So, if you are
included in this group, please do take a moment to share your thoughts
with us.

As a special thank you, upon completion of the survey you’ll be given
a discount code worth $10 off a new membership (or a membership
renewal) for the Silver and Gold benefit packages!

You will be prompted to login when you click on the survey link,
unless you are currently logged in. All subscribers to this mailing
list already have accounts. If you have never logged in to
before, you can request a password reset at:
http://my.isug. com/loginsupport .php — simply enter the email
address where you have received this message and a temporary password
will be sent to you.

Thank you everyone. We look forward to reading your responses.


Mike Harrold
Executive Director
International Sybase User Group
Email: Mike.Harrold@
Support the Sybase Community and
Join ISUG today at http://my.isug. com/join

Mike Harrold from ISUG posted the above email to the sybase-l mailing list.  Please let ISUG know why you are or aren’t an ISUG member.



Share Button

Robert Jordan dies

‘Wheel of Time’ author Robert Jordan dies

3:15PM Tuesday September 18, 2007
Robert Jordan in 2000. Photo / Beth Gwinn

Robert Jordan in 2000. Photo / Beth Gwinn

Best selling fantasy author Robert Jordan has died of a rare blood disease aged 58, it has been reported.

Jordan – whose real name was James Oliver Rigney Jr – wrote the “Wheel of Time” series, which sold millions of books since the first – “The Eye of the World” – was published in 1990.
Read more at NZ Herald

By far, my favorite author, Robert Jordan’s Eye of the World book saw me through basic training back in 1990.  I had never really read a true saga before that.  I know that he had a contingency plan where another author would finish the series if something should happen to him. He will be missed dearly.

After the scare we had in the last few days at home, Jordan’s death just makes me want to cry.

Robert Jordan maintained an optimistic blog on Dragonmount.  The last book in the Wheel of Time series is A Memory of Light.

Share Button