The code that fixes the Sybase Tech Talk podcast

Yeah, I know it isn’t pretty but it works. 
Continue reading “The code that fixes the Sybase Tech Talk podcast”

Share Button

Sybase ASE Tech Talk Podcast – FIXED!

Do you remember when I posted about the new Sybase ASE Tech Talk Podcast?  I brought up a number of issues that haven’t been addressed yet by Sybase.  If you care about any of these, please email Sybase!

As it is just starting out, there are a few minor hiccups that I’m certain will be worked out:

  • No RSS feed.  This makes it impossible to create a subscription with iTunes or similar player.  Personally I do consider this item fixed as the RSS feed will not work with a podcast aggregator such as iTunes, Windows Media Player 11, Amarok, GTKPod, etc.
  • Audio appears to be recorded in a low bitrate.  This can often create pops, crackles, scratches in the audio like a well listened vinyl record.
  • No embedded information in the mp3 tags.
  • No license was specified in on the website or in the mp3 tags.
    • Preferrably, it would be licensed under a Creative Commons license

Well, I’m tired of waiting for Sybase to fix their BROKE rss feed.  Atleast it is broken for Amorak, iTunes, Windows Media Player 11.  I haven’t tested other podcast aggregators.  The problem is that it is using RSS 1.0 but none of the modern podcast aggregators support such an old beast.

So… I fixed their podcast feed!  What I do is pull their rss feed, recreate it as an RSS 2.0 feed and presto chango, IT WORKS!  It goes without saying that when Sybase eventually fixes their podcast feed, I’ll let everyone know and eventually remove my WORKING podcast RSS feed.

Sybase’s broken podcast feed: 
My WORKING podcast feed:

Here is the perl code.


According to the Jan 3rd posts on  Comment on Presentations / Graphics and Comment RSS feed / iTunes in the ASE Podcast Series forum (hosted by ISUG), we will see a proper RSS feed and embedded documents (PDFs) in the near future.

I’ll keep my working podcast feed going until Sybase provides a proper RSS feed for podcasting.

Share Button Be NOT afraid


Sybase is apparently changing their website.  These are relatively minor changes but are significant enough to mess with your bookmarks.  Just to make sure that no one panics.   Now, if they would fix Case Express to work properly…

To all customers who access the and MySybase Web sites:

Effective Jan. 31, 2007, the top-level navigation of Sybase’s corporate Web site,, will undergo some changes.  These changes represent a sign of the company’s growth and focus on all aspects of Sybase’s Unwired Enterprise strategy.

The upcoming changes include the following:

  • The "MySybase" tab will be removed from the site-wide tabbed navigation, and will be replaced by a link at the very top of the page, between the "Contact Us" and "Login" links.
  • A new tab for "Mobile Services" will be added to the navigation.  This tab will point to a new section of the site featuring content from Sybase 365, the wholly-owned subsidiary formed after Sybase acquired Mobile 365.
    The Products & Solutions tab will be shortened to "Products," and the Support & Services tab will be abbreviated to "Support."
  • No content or services will be removed from the site, and no transactional or process modifications will be made.  Likewise, the MySybase system will not change, and customers will access and use it as usual.

The following screenshot illustrates the upcoming changes to the top navigation of the Web site.


Share Button

I love this video

Even though it is a Burger King ad, I just love the concept. I’m sorry to anyone that may be offended, but sometimes we men just have to be men 🙂

Share Button

Should “return” reset @@error?

Drew Montgomery brought the fact that Sybase ASE’s sp_password stored procedure raises the appropriate error message if it is unable to update the password of a login then returns "1" indicating a failure:

**  Encrypt and store the input @new_password.
**  @caller_password will be checked against the password of the caller.
**  set_password() builtin will print out nice messages.
select @returncode = set_password(@caller_password, @new_password, @loginame, @immediate)
if (@returncode = 0)
        ** 17720, "Error:  Unable to set the Password."
        raiserror 17720
        return (1)
        ** 17721, "Password correctly set."
        exec sp_getmessage 17721, @msg output
        print @msg
        return (0)

Normally this would be fine but if you write a stored procedure wrapper for sp_password (or another ASE stored procedure), it is impossible to trap the exact error message from within your wrapper stored procedure.  The problem is that @@error is being reset by the return() operation, indicating that the return(), itself, resulted in no error.

I know this is the way it is now, but should it remain so?  I mean, should the execution of return() reset @@error if called in a stored procedure?

Granted, Sybase could probably correct their code by return(@@error) instead of returning a generic ‘1’ but is this a design flaw of the stored procedures or Sybase’s implementation of T-SQL?

I have to admit that I’m on the fence as to where the flaw resides other than it is a ‘Sybase issue’.

Share Button

Sybase’s setup causes some installs of ASE to fail

ASE 12.5.4 setup (java version of Installshield) unsets LD_POINTER_GUARD, which will cause some linux distributions to fail to ‘setup’ dataserver.

This appears to be a variation of the issue raised in the "Sybase’s Backup Server for Linux (64bit) is broken 🙁" post.  What is unclear is whether this variable is being undefined by the Sybase supplied Java, Installshield itself or whether Sybase engineering is explicitly undefining it in the Installshield script.  I’ve opened a case with Sybase to ensure that this gets resolved with the ASE 12.5.4 esd 6 ebf.

cat srvbuild0127.001
Sat Jan 27 20:37:05 2007: srvbuild/12.5.4/P/Linux Intel/Linux 2.4.18-18.7.xsmp i686/EBF 13388/OPT/Tue May  9 08:38:07 PDT 2006
Sat Jan 27 20:37:05 2007: Getting attribute values from sybinit resource file `/database/sybase/ASE-12_5/sqlsrv.res’.
Sat Jan 27 20:37:05 2007:
Sat Jan 27 20:37:05 2007:
Sat Jan 27 20:37:05 2007: Warning: Unable to verify /database/sybase/data/sybsystemprocs.raw device size.  Please verify that this device is not already in use and that it has sufficient space available.
type = 1
server_page_size = 2k
master_device_physical_name = /database/sybase/master.raw
master_device_size = 100
master_database_size = 50
sybsystemprocs_device_physical_name = /database/sybase/data/sybsystemprocs.raw
sybsystemprocs_device_size = 300
sybsystemprocs_database_size = 300
errorlog = /database/sybase/ASE-12_5/install/JASONDESKTOP.log
configfile = /database/sybase/ASE-12_5/JASONDESKTOP.cfg
sybsystemdb_device_physical_name = /database/sybase/data/sybsysdb.dat
sybsystemdb_device_size = 1
sybsystemdb_database_size = 1
shmem = /database/sybase/ASE-12_5
default_backup_server = JASONDESKTOP_BS
server_name = JASONDESKTOP
force_buildmaster = yes
Sat Jan 27 20:37:05 2007: (Shell command) /database/sybase/ASE-12_5/bin/dataserver -d/database/sybase/master.raw -b100M -z2k -sJASONDESKTOP -e/database/sybase/ASE-12_5/install/JASONDESKTOP.log -T1623 -f > /tmp/sbNXsSD5 2>&1
dataserver: master device size for this server: 100.0 Mb
dataserver: master database size for this server: 6.0 Mb
dataserver: model database size for this server: 2.0 Mb
00:00000:00000:2007/01/27 20:37:05.95 kernel  Checked out license ASE_DEV
00:00000:00000:2007/01/27 20:37:05.96 kernel  Adaptive Server Enterprise Developer Edition.
00:00000:00000:2007/01/27 20:37:06.05 kernel  Using config area from primary master device.
00:00000:00000:2007/01/27 20:37:06.05 server  Configuration Error: Configuration file, ‘/database/sybase/JASONDESKTOP.cfg’, does not exist.
00:00000:00000:2007/01/27 20:37:06.05 kernel  Warning: A configuration file was not specified and the default file ‘/database/sybase/JASONDESKTOP.cfg’ does not exist. SQL Server creates the default file with the default configuration.
00:00000:00000:2007/01/27 20:37:06.06 kernel  Warning: Using default file ‘/database/sybase/JASONDESKTOP.cfg’ since a configuration file was not specified. Specify a configuration file name in the RUNSERVER file to avoid this message.
00:00000:00000:2007/01/27 20:37:06.08 kernel  os_find_good_keyfile: Found shared memory segment: key 0x6e0300b8, id 121044995
00:00000:00000:2007/01/27 20:37:06.08 kernel  os_find_good_keyfile: If SQL Server using it is not running, remove it by hand
00:00000:00000:2007/01/27 20:37:06.08 kernel  os_find_good_keyfile: Trying a different key
00:00000:00000:2007/01/27 20:37:06.08 kernel  Internal run-time model set for Linux  – Native
00:00000:00000:2007/01/27 20:37:06.08 kernel  Using 1024 file descriptors.
00:00000:00000:2007/01/27 20:37:06.08 kernel  Adaptive Server Enterprise/12.5.4/EBF 13388/P/Linux Intel/Enterprise Linux/ase1254/2006/32-bit/OPT/Fri May 19 23:17:01 2006
00:00000:00000:2007/01/27 20:37:06.08 kernel  Confidential property of Sybase, Inc.
00:00000:00000:2007/01/27 20:37:06.08 kernel  Copyright 1987, 2006
00:00000:00000:2007/01/27 20:37:06.08 kernel  Sybase, Inc.  All rights reserved.
00:00000:00000:2007/01/27 20:37:06.08 kernel  Unpublished rights reserved under U.S. copyright laws.
00:00000:00000:2007/01/27 20:37:06.08 kernel
00:00000:00000:2007/01/27 20:37:06.08 kernel  This software contains confidential and trade secret information of Sybase,
00:00000:00000:2007/01/27 20:37:06.08 kernel  Inc.   Use,  duplication or disclosure of the software and documentation by
00:00000:00000:2007/01/27 20:37:06.08 kernel  the  U.S.  Government  is  subject  to  restrictions set forth in a license
00:00000:00000:2007/01/27 20:37:06.08 kernel  agreement  between  the  Government  and  Sybase,  Inc.  or  other  written
00:00000:00000:2007/01/27 20:37:06.08 kernel  agreement  specifying  the  Government’s rights to use the software and any
00:00000:00000:2007/01/27 20:37:06.08 kernel  applicable FAR provisions, for example, FAR 52.227-19.
00:00000:00000:2007/01/27 20:37:06.08 kernel  Sybase, Inc. One Sybase Drive, Dublin, CA 94568, USA
00:00000:00000:2007/01/27 20:37:06.08 kernel  ASE booted on Linux release 2.6.17-10-generic version #2 SMP Tue Dec 5 22:28:26 UTC 2006.
00:00000:00000:2007/01/27 20:37:06.08 kernel  Using ‘/database/sybase/JASONDESKTOP.cfg’ for configuration information.
00:00000:00000:2007/01/27 20:37:06.08 kernel  Logging ASE messages in file ‘/database/sybase/ASE-12_5/install/JASONDESKTOP.log’.
00:00000:00000:2007/01/27 20:37:06.12 kernel  SQL Server booted with TCP_NODELAY enabled.
00:00000:00000:2007/01/27 20:37:06.12 kernel  SSL Plus v3.1.14 security modules loaded successfully.
00:00000:00000:2007/01/27 20:37:06.12 kernel  Network and device connection limit is 1009.
00:00000:00000:2007/01/27 20:37:06.29 server  Number of blocks left for proc headers: 3232.
00:00000:00000:2007/01/27 20:37:06.29 server  Proc header memory allocated 1616 pages for each per engine cache
00:00000:00000:2007/01/27 20:37:06.32 server  Size of the 2K memory pool: 8192 Kb
00:00000:00000:2007/01/27 20:37:06.32 server  Memory allocated for the default data cache cachelet 1: 8192 Kb
00:00000:00000:2007/01/27 20:37:06.32 kernel  Enabling Linux Kernel asynchronous disk I/O strategy.
00:00000:00000:2007/01/27 20:37:06.32 kernel  Initializing virtual device 0, ‘/database/sybase/master.raw’ with dsync ‘off’.
00:00000:00000:2007/01/27 20:37:06.32 kernel  Virtual device 0 started using asynchronous i/o.
00:00000:00000:2007/01/27 20:37:06.32 kernel  Worker Thread Manager is not enabled for use in SQL Server.
00:00000:00000:2007/01/27 20:37:06.33 kernel  Either the config parameter ‘use security services’ is set to 0, or ASE does not support use of external security mechanisms on this platform. The Security Control Layer will not be initialized. No external security mechanisms will be supported.
00:00000:00000:2007/01/27 20:37:06.33 kernel  Unix interval timer enabled for sysclk interrupts.
00:00000:00000:2007/01/27 20:37:06.38 kernel  engine 0, os pid 8048  online
Segmentation fault
Sat Jan 27 20:37:06 2007: Buildmaster return code: -117.
Sat Jan 27 20:37:06 2007:
Share Button

What’s for dinner?

Chicken Paprikash — decidedly unkosher

1 lb chicken pieces
2 Tbl olive oil
1 onion, chopped
4 teaspoons paprika
1/2 cup white wine
1/2 cup chicken stock
8 ounces sourcream
2 Tbl flour
salt and pepper


Brown the chicken in the olive oil and remove from pan, salt and pepper the chicken.  Add the onions to the pan, and the paprika.  Turn heat to low so the paprika doesn’t burn and cook until the onions are softened.  

Add the stock and wine to the pan, and deglaze the pan (scrape up all the yummy brown bits).  Add the chicken back to the pan and coat it in the sauce.  Cover and simmer for 20 – 30 minutes until the chicken is cooked through.

Remove the chicken from the pan and place in oven to keep warm.

In a small mixing bowl, combine the flour and sour cream.  Add the sour cream mixture to the stuff still in the pan, and stir until thick and bubbly plus 1 minute more.

Serve the chicken and sauce with hot buttered noodles and fresh broccoli.  


Share Button

Thank you Doc Wheat!

Your donation to the Susan G. Komen 3 Day Walk for the cure of breast cancer will definitely help!!  Thank you!!


Share Button

IRC channel for Sybase!

For those of you that would love to chat with people about Sybase online but don’t want to bother with the Sybase Newsgroups or just want to hang out with fellow people interested in Sybase, come join me in our very own IRC channel!

IRC Server:, port 6667

IRC Channel:  #Sybase 

I’m typically in the channel from time to time.  Best time to catch me is after 7pm US Central Time.  You will also find me in the #perl and #kubuntu channels 🙂

Share Button

Tonight! : perl mongers meetup in the south suburbs (Tinley Park, IL)

We are meeting up at the local Caribou Coffee in Tinley Park tonight at 7pm. I’ll be there atleast until 9:30pm as my wife has her Stitch & Bitch meetup there also.

Caribou Coffee
16205 Harlem Ave Tinley Park, IL 60477
(708) 444-0478
Agenda:  no agenda - just a meetup :) 
Share Button