<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Feed: Jason L. Froebe - Tech tips and How Tos for Fellow Techies </title>
	<atom:link href="http://froebe.net/blog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://froebe.net/blog</link>
	<description>Tips &#38; Tricks for Databases (Sybase, Oracle, MySQL, PostgreSQL, SQLite), Windows, Linux, Solaris, Perl, Java, Bash and so much much more</description>
	<lastBuildDate>Wed, 01 May 2013 20:12:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Join us in our efforts to support Childhood Apraxia of Speech Association!</title>
		<link>http://froebe.net/blog/2013/05/01/join-us-in-our-efforts-to-support-childhood-apraxia-of-speech-association/</link>
		<comments>http://froebe.net/blog/2013/05/01/join-us-in-our-efforts-to-support-childhood-apraxia-of-speech-association/#comments</comments>
		<pubDate>Wed, 01 May 2013 20:12:13 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apraxia]]></category>
		<category><![CDATA[charity]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=2001</guid>
		<description><![CDATA[Join us in our efforts to support Childhood Apraxia of Speech Association! As you know, our darling Asher has Apraxia. He is talking more and more each day, but every word is a battle for him. This research has had a direct impact on his ability to speak, and other kids like him. So help [...]]]></description>
				<content:encoded><![CDATA[<table border="0" cellspacing="0" cellpadding="2" align="center">
<tbody>
<tr>
<td align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img alt="" src="http://secure.apraxia-kids.org/AccountTempFiles/account15492/images/1065580_153131146214449.jpg" width="300" name="levels" border="0" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top" width="300"><a href="http://secure.apraxia-kids.org/faf/donorReg/donorPledge.asp?ievent=1065580&amp;lis=1&amp;kntae1065580=33397FCB487E4D9C99B7EDA29DAF5B38&amp;supId=379297177"><b>Join us in our efforts to support Childhood Apraxia of Speech Association!</b></a></td>
</tr>
<tr>
<td valign="top" width="300">As you know, our darling Asher has Apraxia. He is talking more and more each day, but every word is a battle for him. This research has had a direct impact on his ability to speak, and other kids like him. So help us out, throw a couple of bucks our way, and show us your support. We&#8217;ve got a long &#8220;walk&#8221; ahead of us still, but for Asher, and all the other kids like him, we&#8217;re gonna do it!</p>
<p>Thank you for <a href="http://secure.apraxia-kids.org/faf/donorReg/donorPledge.asp?ievent=1065580&amp;lis=1&amp;kntae1065580=33397FCB487E4D9C99B7EDA29DAF5B38&amp;supId=379297177">supporting Childhood Apraxia of Speech Association</a>. Your contribution is greatly appreciated and will continue to help CASANA fund important apraxia programs and research.</td>
</tr>
</tbody>
</table>
<p>Read more about <a href="http://en.wikipedia.org/wiki/Apraxia">Apraxia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/05/01/join-us-in-our-efforts-to-support-childhood-apraxia-of-speech-association/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ed Barlow&#8217;s sp__helprotect updated for SAP Sybase ASE 15.7 Solved</title>
		<link>http://froebe.net/blog/2013/04/23/ed-barlows-sp__helprotect-updated-for-sap-sybase-ase-15-7-solved/</link>
		<comments>http://froebe.net/blog/2013/04/23/ed-barlows-sp__helprotect-updated-for-sap-sybase-ase-15-7-solved/#comments</comments>
		<pubDate>Tue, 23 Apr 2013 16:50:27 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[ASE]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[Ed Barlow]]></category>
		<category><![CDATA[Extended System Stored Procedure Library for Sybase and Sql Server]]></category>
		<category><![CDATA[permissions]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[sap sybase]]></category>
		<category><![CDATA[sp__helprotect]]></category>
		<category><![CDATA[stored procedure]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1998</guid>
		<description><![CDATA[I needed to copy the permissions from one database to another but the sp__helprotect stored procedure in Ed Barlow&#8217;s Extended System Stored Procedure Library for Sybase and Sql Server wasn&#8217;t producing output with &#8220;GRANT&#8221; and &#8220;REVOKE&#8221;. It also had problems with DBCC privileges. Here you go: sp__helprotect.sql /* Procedure copyright(c) 1995 by Edward M Barlow [...]]]></description>
				<content:encoded><![CDATA[<p>I needed to copy the permissions from one database to another but the sp__helprotect stored procedure in Ed Barlow&#8217;s <em><a href="http://www.edbarlow.com/">Extended System Stored Procedure Library for Sybase and Sql Server</a></em> wasn&#8217;t producing output with &#8220;GRANT&#8221; and &#8220;REVOKE&#8221;.  It also had problems with DBCC privileges.  Here you go:</p>
<p>sp__helprotect.sql</p>
<pre>/* Procedure copyright(c) 1995 by Edward M Barlow */
/*  Updated for v15.7 by Jason Froebe */

/******************************************************************************
**
** Name        : sp__helpprotect.sql
**
******************************************************************************/
if exists (select * from sysobjects
           where  name = "sp__helprotect"
           and    type = "P")
begin
   drop proc sp__helprotect
end
go

create procedure sp__helprotect
        @parameter varchar(30) = NULL            /* name of object or user to check     */,
        @do_system_tables char(1) = null, /* if not null will include system tbls */
        @dont_format char(1) = null,
        @groups_only char(1) = null
as
        declare @type char(2), @uid int, @msg varchar(255), @objid int

        if @parameter is NULL
                select @objid=null
        else
                select @objid = object_id(@parameter)

        /* define our table */
        select   id,uid,action,protecttype,columns,grantor,
                        column_name             = "                               "
                        ,action_text            = "                               "
                        ,protecttype_text = "                               "
                        ,ending                                 = "                               "
        into    #protects
        from    sysprotects
        where 1=2

        /* Either a passed object or all objects */
        if @objid is not null or @parameter is null
        begin

                select uid,gid into #groups from sysusers

                if @groups_only is not null
                        delete  #groups
                        where    uid != gid

                /* IT IS AN OBJECT */
                insert  #protects
                select  id,p.uid,action,protecttype,columns,grantor,"","","",""
                from    sysprotects p, #groups g
                where   id=isnull(@objid,id)
                and      p.uid = g.uid

                /* REVOKES ON COLUMNS */
                insert  #protects
                select  id,p.uid,action,2,columns,grantor,
                        "("+col_name(p.id,c.number)+")","","",""
                from            sysprotects p, master.dbo.spt_values c, #groups g
                where   p.columns is not null
                and             convert(tinyint,substring(p.columns,c.low,1)) &#038; c.high=0
                and             c.type = "P"
                and             c.number < = 255
                and             c.number>0
                and             c.low>1
                and             col_name(p.id,c.number) is not null
                and             id=isnull(@objid,id)
                and      p.uid=g.uid

                if @do_system_tables is null and @objid is null
                        delete #protects
                        from   #protects p, sysobjects o
                        where  p.id = o.id
                        and    o.type = 'S'
        end
        else
        begin

                /* IS IT A USER */
                select @uid = uid from sysusers where name=@parameter
                if @@rowcount = 0 or @uid is null
                begin
                   print "No User Or Object Found"
                   return (1)
                end

                insert  #protects
                select  distinct id,uid,action,protecttype,columns,grantor,"","","",""
                from    sysprotects p
                where   uid=@uid
                /* and          isnull( p.columns,0x01 ) = 0x01 */

                /* REVOKES ON COLUMNS */
                insert  #protects
                select  id,uid,action,2,columns,grantor,
                        "("+col_name(p.id,c.number)+")", "","",""
                from    sysprotects p, master.dbo.spt_values c
                where isnull( p.columns,0x01 ) != 0x01
                and     convert(tinyint, substring(p.columns, c.low, 1)) &#038; c.high = 0
                and     c.type = "P"
                and     c.number < = 255
                and     c.number>0
                and     c.low>1
                and     col_name(p.id,c.number) is not null
                and     uid=@uid

                if @do_system_tables is null
                        delete #protects
                        from   #protects p, sysobjects o
                        where  p.id = o.id
                        and    o.type = 'S'
        end

/* References etc */
delete  #protects
where   action in(151,207,222,233,236)

update  #protects
set     action_text = name
from    master.dbo.spt_values v
where   v.type='T'
and     v.number = #protects.action

update  #protects
set     protecttype_text = name
from    master.dbo.spt_values v
where   v.type='T'
and     v.number = #protects.protecttype +204

-- protecttype column can contain these values: 0 for grant with grant. 1 for grant. 2 for revoke
update  #protects
set     protecttype_text =
   case
     when protecttype = 0
       then "GRANT"
     when protecttype = 1
       then "GRANT"
     when protecttype = 2
       then "REVOKE"
   end

update  #protects
set     ending = " WITH GRANT OPTION"
where   protecttype = 0

declare @max_len int
select @max_len = max(char_length( rtrim(protecttype_text)+" "+rtrim(action_text)+" on "+rtrim(object_name(id))+column_name+" to "+rtrim(user_name(uid))+ending))
from #protects

if @max_len < 60
        select
         substring(
           rtrim(protecttype_text)
           + " "
           + rtrim(action_text)
           + case when id = 0 then " " else " on " end
           + rtrim(object_name(id))
           + column_name
           + " to "
           + rtrim(user_name(uid))
           + ending
         ,1,59)
        from #protects
        where rtrim(action_text) != ""
        order by object_name(id),protecttype_text
else if @max_len < 80
        select
         substring(
           rtrim(protecttype_text)
           + " "
           + rtrim(action_text)
           + case when id = 0 then " " else " on " end
           + rtrim(object_name(id))
           + column_name
           + " to "
           + rtrim(user_name(uid))
           + ending
         ,1,79)
        from #protects
        where rtrim(action_text) != ""
        order by object_name(id),protecttype_text
else if @max_len < 132
        select
         substring(
           rtrim(protecttype_text)
           + " "
           + rtrim(action_text)
           + case when id = 0 then " " else " on " end
           + rtrim(object_name(id))
           + column_name
           + " to "
           + rtrim(user_name(uid))
           + ending
         ,1,131)
        from #protects
        where rtrim(action_text) != ""
        order by object_name(id),protecttype_text


return (0)
go
grant execute on sp__helprotect to public
go</pre>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/23/ed-barlows-sp__helprotect-updated-for-sap-sybase-ase-15-7-solved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Want a free ebook?  Java Application Development on Linux</title>
		<link>http://froebe.net/blog/2013/04/12/want-a-free-ebook-java-application-development-on-linux/</link>
		<comments>http://froebe.net/blog/2013/04/12/want-a-free-ebook-java-application-development-on-linux/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 14:28:07 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[informIT]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1978</guid>
		<description><![CDATA[Nikesh Jauhari over on the Linux Poison blog, posted about the free eBook &#8211; Java Application Development on Linux, a 599 page ebook from informIT. Yeah, when you download the book, you will need to give informIT your contact info. If you don&#8217;t want to, you could probably just use an email address that you [...]]]></description>
				<content:encoded><![CDATA[<p>Nikesh Jauhari over on the <a href="http://linuxpoison.blogspot.com/2013/04/ebook-java-application-development-on.html">Linux Poison blog</a>, posted about the free eBook<a href="http://linuxpoison.tradepub.com/free/w_infk04/prgm.cgi"><img class="alignright" alt="" src="http://img.tradepub.com/free/w_infk04/images/w_infk04c4.gif" width="120" height="155" /></a> &#8211; Java Application Development on Linux, a 599 page ebook from informIT. Yeah, when you download the book, you will need to give informIT your contact info. If you don&#8217;t want to, you could probably just use an email address that you don&#8217;t use except for such registration things.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/12/want-a-free-ebook-java-application-development-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerBuilder:  Download your PowerBuilder patches for v11.x, 12.x before April 15th!  Sybase is taking them away!</title>
		<link>http://froebe.net/blog/2013/04/12/powerbuilder-download-your-powerbuilder-patches-for-v11-x-12-x-before-april-15th-sybase-is-taking-them-away/</link>
		<comments>http://froebe.net/blog/2013/04/12/powerbuilder-download-your-powerbuilder-patches-for-v11-x-12-x-before-april-15th-sybase-is-taking-them-away/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 12:45:36 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Powerbuilder]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[eol]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1976</guid>
		<description><![CDATA[Download the ebfs (patches) for PowerBuilder 11x and 12x now before Sybase removes them from the my.sybase.com! Announcement from SAP/Sybase: April 11, 2013 Dear Valued Sybase Customer: This letter provides notification of the end of sale for the following versions of Sybase PowerBuilder. Product Platform End of Sale Migration Path PowerBuilder 12.x Windows 04/15/2013 PowerBuilder [...]]]></description>
				<content:encoded><![CDATA[<p>Download the ebfs (patches) for PowerBuilder 11x and 12x now before Sybase removes them from the <a href="http://my.sybase.com">my.sybase.com</a>!</p>
<p><a href="http://www.sybase.com/detail?id=1099337">Announcement from SAP/Sybase</a>:</p>
<blockquote><p>April 11, 2013<br />
Dear Valued Sybase Customer:</p>
<p>This letter provides notification of the end of sale for the following versions of Sybase PowerBuilder.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><strong>Product</strong></td>
<td><strong>Platform</strong></td>
<td><strong>End of Sale</strong></td>
<td><strong>Migration Path</strong></td>
</tr>
<tr>
<td>PowerBuilder 12.x</td>
<td>Windows</td>
<td>04/15/2013</td>
<td>PowerBuilder 12.5.2</td>
</tr>
<tr>
<td>PowerBuilder 12.5.x</td>
<td>Windows</td>
<td>04/15/2013</td>
<td>PowerBuilder 12.5.2</td>
</tr>
</tbody>
</table>
<p><strong>Please note that EBFs for PowerBuilder 11.x, 11.5.x, 12.x and 12.5.x (except for PowerBuilder 12.5.2) will no longer be available as of April 15, 2013.</strong></p>
<p>If you have any questions, please call your local Sybase Technical Support Center. One of our Customer Service representatives will respond to your questions or direct your call to someone who can. For the number of your closest Technical Support Center, please go to: www.sybase.com/contactus/support.</p>
<p>Thank you for your cooperation in this product transition. We regret any inconvenience that discontinuing the sale of this product may cause your organization. Our support staff is available to assist you in any way possible.</p>
<p>Sincerely,<br />
Sue Dunnell<br />
PowerBuilder Product Manager<br />
Sybase, an SAP Company</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/12/powerbuilder-download-your-powerbuilder-patches-for-v11-x-12-x-before-april-15th-sybase-is-taking-them-away/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto Perl: Crypt::CBC module with the blowfish encryption cipher</title>
		<link>http://froebe.net/blog/2013/04/09/howto-perl-cryptcbc-module-with-the-blowfish-encryption-cipher/</link>
		<comments>http://froebe.net/blog/2013/04/09/howto-perl-cryptcbc-module-with-the-blowfish-encryption-cipher/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 18:08:36 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[blowfish]]></category>
		<category><![CDATA[cbc::crypt]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[steganography]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1955</guid>
		<description><![CDATA[I came up with the following example a few years back. Crypt::CBC is quite easy to use but can be confusing to new users of it. I prefer to use the subroutines encrypt_hex and decrypt as the encoded string is hexidecimal not in binary format. This allows me to work with it as if it [...]]]></description>
				<content:encoded><![CDATA[<p>I came up with the following example a few years back. <a href="http://search.cpan.org/~lds/Crypt-CBC/CBC.pm">Crypt::CBC</a><a href="http://www.perl.org"><img class="alignright  wp-image-1207" alt="perl" src="http://froebe.net/blog/wp-content/uploads/2010/02/perl-276x300.jpg" width="166" height="180" /></a> is quite easy to use but can be confusing to new users of it. I prefer to use the subroutines encrypt_hex and decrypt as the encoded string is hexidecimal not in binary format. This allows me to work with it as if it was a normal string, such as sending it in a tweet or email or possibly <a href="http://en.wikipedia.org/wiki/Steganography">embed it in an image</a>.</p>
<pre>use warnings;
use strict;
use Crypt::CBC;

our $cipher = Crypt::CBC->new(
  -key => 'g0oB3r__g0oB3r',
  -cipher => 'Blowfish'
);

# Encrypts a string and returns it.
sub encrypt {
  return( $cipher->encrypt_hex($_) );
}

# Decrypts an encrypted string and returns it.
sub decrypt {
  return( $cipher->decrypt( pack("H*", $_) ) );
}

#########

my $encrypted_string = encrypt('happy')
my $decrypted_string = decrypt($encrypted_string);

printf "'happy' -> encrypted as '%s' -> decrypted to '%s'\n", $encrypted_string, $decrypted_string;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/09/howto-perl-cryptcbc-module-with-the-blowfish-encryption-cipher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Why the perl community is no boy&#8217;s club&#8221; by tinita</title>
		<link>http://froebe.net/blog/2013/04/09/why-the-perl-community-is-no-boys-club-by-tinita/</link>
		<comments>http://froebe.net/blog/2013/04/09/why-the-perl-community-is-no-boys-club-by-tinita/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 13:58:47 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[boy's club]]></category>
		<category><![CDATA[tinita]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1950</guid>
		<description><![CDATA[If you haven&#8217;t read tinita&#8216;s blog post, please do so.  As males we often don&#8217;t see the harm we do when we are &#8220;just joking around&#8221; or &#8220;teasing&#8221; or whatever our justification is for making crude statements.  I know I am not innocent either, most commonly because I wasn&#8217;t aware that &#60;insert some comment&#62; was offensive [...]]]></description>
				<content:encoded><![CDATA[<p>If you haven&#8217;t read <a href="http://blogs.perl.org/users/tinita/">tinita</a>&#8216;s blog post, please do so.  As males we often don&#8217;t see the harm we do when we are &#8220;just joking around&#8221; or &#8220;teasing&#8221; or whatever our justification is for making crude statements.  I know I am not innocent either, most commonly because I wasn&#8217;t aware that &lt;insert some comment&gt; was offensive to another person.  We deserve to treat each other with respect.</p>
<blockquote><p><em>First, the reason for this post: There was this answer in the recent <a href="http://www.perlmonks.org/?node_id=1026502">survey</a>:</em><br />
<em> &#8220;None &#8211; I refuse to acknowledge the term man hours, you patriarchical pig. But I have many person-hours. And let me tell you&#8230;&#8221;</em></p>
<p><em>You can discuss if this is discriminating feminists or not. It&#8217;s a matter of perception, if you know the author or not. It seems that there are people who find this offensive. And I also think that it shouldn&#8217;t be on a perlmonks poll, while in a group of friends it might be funny.</em></p></blockquote>
<p>Read the rest of her post on <a href="http://blogs.perl.org/users/tinita/2013/04/why-the-perl-community-is-no-boys-club.html">tinita&#8217;s blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/09/why-the-perl-community-is-no-boys-club-by-tinita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New SAP/Sybase White Papers for Sybase IQ 16.0</title>
		<link>http://froebe.net/blog/2013/04/08/new-sapsybase-white-papers-for-sybase-iq-16-0/</link>
		<comments>http://froebe.net/blog/2013/04/08/new-sapsybase-white-papers-for-sybase-iq-16-0/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 15:29:17 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[IQ]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[vldb]]></category>
		<category><![CDATA[white papers]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1946</guid>
		<description><![CDATA[SAP Sybase IQ 16 Product Overview &#8211; Outlines the new features and benefits of SAP Sybase IQ 16, along with what motivated the build of this product version. SAP Sybase IQ 16 In-Database Analytics Option &#8211;  This is a technical overview of the SAP Sybse IQ In-Database Analytics Option. This options delivers fast, accurate insights [...]]]></description>
				<content:encoded><![CDATA[<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/4040e240-7782-3010-4985-f7e05a2708da&amp;overridelayout=true">SAP Sybase IQ 16 Product Overview</a> &#8211; Outlines the new features and benefits of SAP Sybase IQ 16, along with what motivated the build of this product version.</p>
<div id="attachment_560" class="wp-caption alignright" style="width: 193px"><a href="http://froebe.net/blog/wp-content/uploads/2008/07/sybase.png"><img class="size-full wp-image-560 " alt="Sybase" src="http://froebe.net/blog/wp-content/uploads/2008/07/sybase.png" width="183" height="74" /></a><p class="wp-caption-text">Sybase</p></div>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/30faeab1-7682-3010-8fb7-975050fa89ee&amp;overridelayout=true">SAP Sybase IQ 16 In-Database Analytics Option</a> &#8211;  This is a technical overview of the SAP Sybse IQ In-Database Analytics Option. This options delivers fast, accurate insights quickly to help make the decisions needed to win in today&#8217;s competitive environment.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/c0c2d316-7682-3010-bcae-de54b818d04a&amp;overridelayout=true">SAP Sybase IQ 16 Advanced Security Option</a> &#8211; SAP Sybase IQ 16 Advanced Security Option Technical Overview. This option allows advanced protection of your valuable data assets without sacrificing flexibility.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/1040ca6c-7582-3010-7ca9-8dd4930b0f5b&amp;overridelayout=true">SAP Sybase IQ 16 Very Large Database Option</a> &#8211; This is a technical overview for the SAP Sybase IQ 16 Very Large Database Option. This option maximizes the value of your growing data assets.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/906a18ac-7482-3010-1584-ca8530ed8165&amp;overridelayout=true">SAP Sybase IQ 16 Unstructured Data Analytics Option</a> &#8211; This option allows for the storage and retrieval of unstructured data including full text search and analysis.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/20849eff-7382-3010-f9b0-8e4be099b71e&amp;overridelayout=true">SAP Sybase IQ 16 Multiplex Grid Option</a> &#8211; The option delivers elastic capacity for high performance Enterprise Data Warehouses.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/4071ef5d-7182-3010-b4a5-a3517a0e839d&amp;overridelayout=true">Lesson 1: Introduction to Sybase IQ Welcome to “Getting started with Sybase IQ Column Store Analytics Server”</a> This book is set up in a way that will put the subject areas most pertinent to you right at your fingertips. This is not a reference book. Instead, it is a how-to book where the information is presented with the goal of getting you started with Sybase IQ as quickly as possible.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/70ed7bc6-7082-3010-ec8e-a464dfc60cfb&amp;overridelayout=true">Lesson 2: Product Installation and Database Creation</a> &#8211; This chapter discusses installing Sybase IQ, verifying the installation, starting up the server and using client tools to connect to it. It will show you how to create a Sybase IQ database. It will also describe the TPCH schema that you will be creating in your Sybase IQ database. This schema will be the basis for the work you will be doing in subsequent chapters of this book.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/a05f7017-7082-3010-0ea5-d5810177222a&amp;overridelayout=true">Lesson 3: Create Schema and Load Data</a> &#8211; This chapter discusses creating users in the database you created in the previous chapter, installing the TPCH schema, and loading data into the tables.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b0228968-6f82-3010-c39b-8c263479583a&amp;overridelayout=true">Lesson 4: Optimize a Query Using the Sybase IQ Query Plan</a> &#8211; In this chapter, you will learn how Sybase IQ executes queries, and how to interpret the Sybase IQ query plan. The focus will be on query optimization on a single IQ server, not distributed query processing in a Multiplex. That is addressed in another lesson, “Scaling Out with Multiplex and Distributed Query Processing”. In this lesson, you will execute a SQL query, and perform some analysis to optimize the query.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/70819f52-6e82-3010-a5a7-ca76ecfe4c70&amp;overridelayout=true">Lesson 5: Monitoring Sybase IQ with Sybase Control Center</a> &#8211; Once you have your database up and running, there are administrative tasks that you need to know how to perform in order to insure the health – responsiveness and longevity &#8211; of your system. This lesson is going to focus on Sybase Control Center – a graphical monitoring and administration tool for all types of Sybase servers, including Sybase IQ.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/00c140d8-6d82-3010-199c-ab0dd733560b&amp;overridelayout=true">Lesson 6: Scaling Out with Multiplex and Distributed Query Processing</a> &#8211; If your analytics workload becomes too large for a single machine, Sybase IQ can be configured in a clustered configuration called a “Multiplex” that scales to accommodate more users and more complex queries.</p>
<p><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/3084a648-6d82-3010-3eb9-93b1f404c326&amp;overridelayout=true">Lesson 7: Pattern Matching with a C++ in-Database UDF</a> &#8211; When you want to perform analysis on the data in your Sybase IQ database, you normally will write a SQL query or stored procedure. But Sybase IQ has taken analytics to another level with its in-database analytics feature. Sybase IQ has created an API for extending the functionality of the Sybase IQ database server with user defined functions called UDFs.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/08/new-sapsybase-white-papers-for-sybase-iq-16-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Elie Wiesel: Universal Lessons of the Holocaust</title>
		<link>http://froebe.net/blog/2013/04/07/elie-wiesel-universal-lessons-of-the-holocaust/</link>
		<comments>http://froebe.net/blog/2013/04/07/elie-wiesel-universal-lessons-of-the-holocaust/#comments</comments>
		<pubDate>Sun, 07 Apr 2013 16:06:08 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Judaism]]></category>
		<category><![CDATA[holocaust]]></category>
		<category><![CDATA[judaism]]></category>
		<category><![CDATA[rememberence day]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1944</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><iframe width="420" height="315" src="http://www.youtube.com/embed/D_kuKXRLEnY" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/07/elie-wiesel-universal-lessons-of-the-holocaust/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sybase Control Center and SAP</title>
		<link>http://froebe.net/blog/2013/04/05/sybase-control-center-and-sap/</link>
		<comments>http://froebe.net/blog/2013/04/05/sybase-control-center-and-sap/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 19:51:27 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[sybase control center]]></category>
		<category><![CDATA[TechWave]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1939</guid>
		<description><![CDATA[Now that SAP is exerting control over the policies and procedures within Sybase, will Sybase Control Center be redesigned to be usable?  I mean, it appears to be only partially implemented, provides no historical information, limited performance metrics, no ability to create reports, allows only one &#8216;user&#8217; at a time, et cetera.  I know in the [...]]]></description>
				<content:encoded><![CDATA[<p>Now that SAP is exerting control over the policies and procedures within Sybase, will Sybase Control Center be</p>
<div id="attachment_560" class="wp-caption alignright" style="width: 193px"><a href="http://www.sybase.com"><img class="size-full wp-image-560 " alt="Sybase" src="http://froebe.net/blog/wp-content/uploads/2008/07/sybase.png" width="183" height="74" /></a><p class="wp-caption-text">Sybase</p></div>
<p>redesigned to be usable?  I mean, it appears to be only partially implemented, provides no historical information, limited performance metrics, no ability to create reports, allows only one &#8216;user&#8217; at a time, et cetera.  I know in the past, a certain Sybase Partner had a temper tantrum when Sybase demonstrated SCC at TechWave.  (I was in the room when one of the reps had the fit), so will SAP be able to push back and design/develop Sybase Control Center into something useful?</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/05/sybase-control-center-and-sap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drobo Mini</title>
		<link>http://froebe.net/blog/2013/04/04/drobo-mini/</link>
		<comments>http://froebe.net/blog/2013/04/04/drobo-mini/#comments</comments>
		<pubDate>Thu, 04 Apr 2013 15:12:12 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[drobo]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1935</guid>
		<description><![CDATA[I really want a Drobo Mini]]></description>
				<content:encoded><![CDATA[<p>I really want a <a href="http://onemansblog.com/drobomini/">Drobo Mini</a> <img src='http://froebe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://onemansblog.com/drobomini/"><img class="alignnone size-medium wp-image-1420" alt="Drobo Usage" src="http://froebe.net/blog/wp-content/uploads/2012/10/Screenshot-from-2012-10-18-222109-300x216.png" width="300" height="216" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/04/drobo-mini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Practices for SAP/Sybase IQ 15</title>
		<link>http://froebe.net/blog/2013/04/03/best-practices-for-sapsybase-iq-15/</link>
		<comments>http://froebe.net/blog/2013/04/03/best-practices-for-sapsybase-iq-15/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 19:45:21 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[IQ]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[Sybase]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1931</guid>
		<description><![CDATA[Many of us are still running SAP/Sybase IQ 15x. This document discusses Best Practices for IQ 15. It is intended to provide a starting point for optimizing your implementation of IQ 15. It includes an introduction to new features, suggested methods for using and configuring important features of IQ, and some precautions for avoiding common [...]]]></description>
				<content:encoded><![CDATA[<p>Many of us are still running SAP/Sybase IQ 15x.</p>
<blockquote><p><em><a href="http://www.sybase.com/files/White_Papers/SybaseIQ15_BestPractices_03012012.pdf"><img class=" wp-image-1932 alignright" title="Sybase IQ Best Practices for 15" alt="" src="http://froebe.net/blog/wp-content/uploads/2013/04/Capture1-236x300.jpg" width="142" height="180" /></a>This document discusses <a href="http://www.sybase.com/detail?id=1093715">Best Practices for IQ 15</a>. It is intended to provide a starting point for optimizing your implementation of IQ 15. It includes an introduction to new features, suggested methods for using and configuring important features of IQ, and some precautions for avoiding common problems. As a general purpose document, it is not intended to be a comprehensive guide for every environment.</em></p></blockquote>
<p>It is always a good idea to be aware of any best practices for a piece of software regardless of whether you intend to follow them verbatim or a subset of them.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/03/best-practices-for-sapsybase-iq-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sybase IQ:  Best Practices guide (free) and Manuals are now available</title>
		<link>http://froebe.net/blog/2013/04/03/sybase-iq-best-practices-guide-free-and-manuals-are-now-available/</link>
		<comments>http://froebe.net/blog/2013/04/03/sybase-iq-best-practices-guide-free-and-manuals-are-now-available/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 13:22:21 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[IQ]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[ASIQ]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1922</guid>
		<description><![CDATA[SAP/Sybase released SAP Sybase IQ 16 Best Practices Guide for their data warehouse product IQ. This document presents the best practices for IQ 16. It includes recommendations for using and configuring the most important features of IQ, and precautions for avoiding and troubleshooting some of its most common issues. It also highlights IQ 16’s most [...]]]></description>
				<content:encoded><![CDATA[<p>SAP/Sybase released SAP Sybase IQ 16 Best Practices Guide for their data warehouse product IQ.</p>
<blockquote><p><em><a href="https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/204e8765-6e7e-3010-b0a6-b3e807ce17b7&amp;overridelayout=true"><img class=" wp-image-1923 alignright" title="SAP Sybase IQ 16 Best Practices Guide" alt="" src="http://froebe.net/blog/wp-content/uploads/2013/04/Capture-249x300.jpg" width="89" height="108" /></a>This document presents the best practices for IQ 16. It includes recommendations for using and configuring the most important features of IQ, and precautions for avoiding and troubleshooting some of its most common issues. It also highlights IQ 16’s most significant new features and describes the latest enhancements to existing features. This document is intended to serve as a starting point for optimizing your implementation of IQ 16. As a general purpose document, it is not intended to be a comprehensive guide for every environment. Rather, it is a set of guidelines, suggestions and observations on how to better use IQ 16 and its newest capabilities</em></p></blockquote>
<p>The manuals for Sybase IQ 16 are <a href="http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.help.iq.16.0/doc/html/title.html">also online</a> now.</p>
<p><a href="http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc01777.1600/doc/pdf/iqnfs1600.pdf">New features in IQ 16</a>. Most of the changes appear to revolve around multiplex (1 writer and many reader IQ instances) environments with a few minor changes such as the removal of the <strong>APPEND LOAD</strong>.</p>
<p>If you&#8217;re performing updates in a single server environment, you may benefit from RLV (Row Level Versioned) Store:</p>
<blockquote><p><em>New in IQ 16 is the RLV (Row Level Versioned) Store – This is an in-memory delta store that is optimized for high performance row-level updates. It is currently supported only in an IQ simplex configuration (single server). The RLV store acts as a staging area for write events. If a table is enabled for the RLV store, then all LOAD TABLE, INSERT, UPDATE, and DELETE events write directly to the RLV store. In-memory data in the RLV store is automatically (and periodically) merged into the IQ main store. You can set parameters for automatic merges, and you can merge ondemand.</em></p></blockquote>
<p>&nbsp;</p>
<p>YMMV as always.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/03/sybase-iq-best-practices-guide-free-and-manuals-are-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl and Flickr:  Flickr::Simple2</title>
		<link>http://froebe.net/blog/2013/04/02/perl-and-flickr-flickrsimple2/</link>
		<comments>http://froebe.net/blog/2013/04/02/perl-and-flickr-flickrsimple2/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 19:30:23 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[flickr::simple2]]></category>
		<category><![CDATA[oauth]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1920</guid>
		<description><![CDATA[I&#8217;m in the process of cleaning up Flickr::Simple2 and adding in support for oauth.  There are several Perl modules providing oauth which I will test for ease of use and maintainability.  Just an fyi at this point]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m in the process of cleaning up <a href="http://search.cpan.org/~jfroebe/Flickr-Simple2/lib/Flickr/Simple2.pm">Flickr::Simple2</a> and adding in support for oauth.  There are several Perl modules providing oauth which I will test for ease of use and maintainability.  Just an fyi at this point</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/04/02/perl-and-flickr-flickrsimple2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Free Online Perl Regular Expression (regex) tester!</title>
		<link>http://froebe.net/blog/2013/03/28/a-free-online-perl-regular-expression-regex-tester/</link>
		<comments>http://froebe.net/blog/2013/03/28/a-free-online-perl-regular-expression-regex-tester/#comments</comments>
		<pubDate>Thu, 28 Mar 2013 14:15:26 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[david oswald]]></category>
		<category><![CDATA[perlmonks]]></category>
		<category><![CDATA[perlmonks.org]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[regular expressions]]></category>
		<category><![CDATA[tester]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1910</guid>
		<description><![CDATA[David Oswald created a free online Perl regular expression tester. &#160; He describes it in detail over at Perlmonks.org If you&#8217;re like me and don&#8217;t everything about regular expressions because you&#8217;re short on coffee in the morning, print out Regular expressions in Perl]]></description>
				<content:encoded><![CDATA[<p>David Oswald created a free online <a href="http://retester-daoswald.dotcloud.com/">Perl regular expression tester</a>.</p>
<p><a href="http://retester-daoswald.dotcloud.com/"><img class="alignnone size-medium wp-image-1911" alt="Capture" src="http://froebe.net/blog/wp-content/uploads/2013/03/Capture-300x188.png" width="300" height="188" /></a></p>
<p>&nbsp;</p>
<p>He describes it in detail over at <a href="http://www.perlmonks.org/?node_id=979754">Perlmonks.org</a></p>
<p>If you&#8217;re like me and don&#8217;t everything about regular expressions because you&#8217;re short on coffee in the morning, print out <a href="http://www.cs.tut.fi/~jkorpela/perl/regexp.html">Regular expressions in Perl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/03/28/a-free-online-perl-regular-expression-regex-tester/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HowTo:  Remove mattress stains caused by urine or other bodily fluids</title>
		<link>http://froebe.net/blog/2013/03/27/howto-remove-mattress-stains-caused-by-urine-or-other-bodily-fluids/</link>
		<comments>http://froebe.net/blog/2013/03/27/howto-remove-mattress-stains-caused-by-urine-or-other-bodily-fluids/#comments</comments>
		<pubDate>Thu, 28 Mar 2013 00:01:11 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[bissell]]></category>
		<category><![CDATA[cleaning]]></category>
		<category><![CDATA[cleaning solution]]></category>
		<category><![CDATA[mattress]]></category>
		<category><![CDATA[oxyclean]]></category>
		<category><![CDATA[recipe]]></category>
		<category><![CDATA[vacuum cleaner]]></category>
		<category><![CDATA[vinegar]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1906</guid>
		<description><![CDATA[We picked up a BISSELL SpotBot vacuum cleaner on the weekend. Not only does it clean the carpet, it cleans mattresses. Anyone that has or is raising a kid knows about potty training and night time accidents. Well, using a cleaning solution of Oxy Clean, vinegar and hot water, I was able to clean the [...]]]></description>
				<content:encoded><![CDATA[<p>We picked up a <a href="http://www.bissell.com/spotbot-pet/?gclid=CNKC_7CHnrYCFYI-MgodL3YA5Q">BISSELL SpotBot vacuum cleaner</a> on the weekend. Not only does it clean the carpet, it cleans mattresses.</p>
<p>Anyone that has or is raising a kid knows about potty training and night time accidents. Well, using a cleaning solution of <a href="http://www.oxiclean.com/in-wash/Products/oxiclean-versatile-stain-remover-powder.aspx">Oxy Clean</a>, vinegar and hot water, I was able to clean the kid&#8217;s mattress and remove the stains. A badly stained mattress can take a while to clean. It will still be damp when you&#8217;re done so let it air dry.<a href="http://www.bissell.com/spotbot-pet/?gclid=CNKC_7CHnrYCFYI-MgodL3YA5Q"><img class="alignnone size-full wp-image-1907" alt="SpotBot® Pet Deep Cleaner" src="http://froebe.net/blog/wp-content/uploads/2013/03/33N8_GF1.jpg" width="500" height="500" /></a></p>
<p>The mattress is white again <img src='http://froebe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>Cleaning solution:</h4>
<p>1 scoop of OxiClean (look at the side of the scoop and fill up to the number one)<br />
2 quarts hot water</p>
<p>Mix until the OxiClean is completely dissolved.  While still stirring, add 1 cup vinegar SLOWLY unless you want to recreate the science fair volcano.  Pour into the cleaning solution reservoir. </p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/03/27/howto-remove-mattress-stains-caused-by-urine-or-other-bodily-fluids/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>drunk woman on a sofa</title>
		<link>http://froebe.net/blog/2013/03/25/drunk-woman-on-a-sofa/</link>
		<comments>http://froebe.net/blog/2013/03/25/drunk-woman-on-a-sofa/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 13:10:16 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[drunk]]></category>
		<category><![CDATA[respect]]></category>
		<category><![CDATA[woman]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1904</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><iframe width="560" height="315" src="http://www.youtube.com/embed/eZxv5WCWivM" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/03/25/drunk-woman-on-a-sofa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO: Installing and running SAP / Sybase SQL Server 11.0.3.3 esd 6 on Ubuntu Linux using KVM</title>
		<link>http://froebe.net/blog/2013/03/10/howto-installing-and-running-sap-sybase-sql-server-11-0-3-3-esd-6-on-ubuntu-using-kvm/</link>
		<comments>http://froebe.net/blog/2013/03/10/howto-installing-and-running-sap-sybase-sql-server-11-0-3-3-esd-6-on-ubuntu-using-kvm/#comments</comments>
		<pubDate>Sun, 10 Mar 2013 19:54:07 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[ASE]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[libvirt / KVM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[dapper drake]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[sql server 11.0.3.3]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1757</guid>
		<description><![CDATA[You can run KVM on just about any modern Linux distribution provided that your host is capable of providing virtualization. The folks over at HowtoForge go through the steps for Ubuntu 12.10. What you will need for the KVM virtual machine: Ubuntu Server 6.06.2 for Intel x86 Sybase SQL Server 11.0.3.3 esd 6 for Linux [...]]]></description>
				<content:encoded><![CDATA[<p>You can run KVM on just about any modern Linux distribution provided that your host is capable of providing virtualization. The folks over at <a href="http://www.howtoforge.com">HowtoForge</a> go through <a href="http://www.howtoforge.com/virtualization-with-kvm-on-ubuntu-12.10">the steps for Ubuntu 12.10</a>.</p>
<p>What you will need for the KVM virtual machine:</p>
<ul>
<li>Ubuntu Server 6.06.2 for <a href="http://old-releases.ubuntu.com/releases/6.06/">Intel x86</a></li>
<li>Sybase SQL Server 11.0.3.3 esd 6 for Linux 32bit (if anyone knows of a location to legally download these let me know)</li>
</ul>
<p>I used virt-viewer to create the virtual machine but you can create the xml file yourself if you want to. Make sure you specify:</p>
<ul>
<li>Disk bus: IDE using native threads and no caching</li>
<li>1GB of RAM or more</li>
<li>VNC or Spice display</li>
</ul>
<p>my Sybase_11033.xml file:</p>
<pre>
&lt;domain type=&#039;kvm&#039;&gt;
  &lt;name&gt;Sybase_11033&lt;/name&gt;
  &lt;uuid&gt;85ffed98-fd6e-8475-37b0-219359c89c25&lt;/uuid&gt;
  &lt;description&gt;Sybase SQL Server 11.0.3.3 on Ubuntu 6.06.02 (Dapper Drake)&lt;/description&gt;
  &lt;memory unit=&#039;KiB&#039;&gt;1048576&lt;/memory&gt;
  &lt;currentmemory unit=&#039;KiB&#039;&gt;1048576&lt;/currentmemory&gt;
  &lt;vcpu placement=&#039;static&#039;&gt;1&lt;/vcpu&gt;
  &lt;os&gt;
    &lt;type arch=&#039;x86_64&#039; machine=&#039;pc-1.2&#039;&gt;hvm&lt;/type&gt;
    &lt;boot dev=&#039;hd&#039;&gt;&lt;/boot&gt;
  &lt;/os&gt;
  &lt;features&gt;
    &lt;acpi&gt;&lt;/acpi&gt;
    &lt;apic&gt;&lt;/apic&gt;
    &lt;pae&gt;&lt;/pae&gt;
  &lt;/features&gt;
  &lt;clock offset=&#039;utc&#039;&gt;&lt;/clock&gt;
  &lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
  &lt;on_reboot&gt;restart&lt;/on_reboot&gt;
  &lt;on_crash&gt;restart&lt;/on_crash&gt;
  &lt;devices&gt;
    &lt;emulator&gt;/usr/bin/kvm-spice&lt;/emulator&gt;
    &lt;disk type=&#039;file&#039; device=&#039;disk&#039;&gt;
      &lt;driver name=&#039;qemu&#039; type=&#039;qcow2&#039; cache=&#039;none&#039; io=&#039;threads&#039;&gt;&lt;/driver&gt;
      &lt;source file=&#039;/var/lib/libvirt/images/Sybase_11033.img&#039;/&gt;
      &lt;target dev=&#039;hda&#039; bus=&#039;ide&#039;&gt;&lt;/target&gt;
      &lt;address type=&#039;drive&#039; controller=&#039;0&#039; bus=&#039;0&#039; target=&#039;0&#039; unit=&#039;0&#039;&gt;&lt;/address&gt;
    &lt;/disk&gt;
    &lt;disk type=&#039;file&#039; device=&#039;cdrom&#039;&gt;
      &lt;driver name=&#039;qemu&#039; type=&#039;raw&#039;&gt;&lt;/driver&gt;
      &lt;source file=&#039;/home/jason/iso/ubuntu-6.06.2-server-i386.iso&#039;/&gt;
      &lt;target dev=&#039;hdb&#039; bus=&#039;ide&#039;&gt;&lt;/target&gt;
      &lt;readonly&gt;&lt;/readonly&gt;
      &lt;address type=&#039;drive&#039; controller=&#039;0&#039; bus=&#039;0&#039; target=&#039;0&#039; unit=&#039;1&#039;&gt;&lt;/address&gt;
    &lt;/disk&gt;
    &lt;controller type=&#039;usb&#039; index=&#039;0&#039;&gt;
      &lt;address type=&#039;pci&#039; domain=&#039;0x0000&#039; bus=&#039;0x00&#039; slot=&#039;0x01&#039; function=&#039;0x2&#039;&gt;&lt;/address&gt;
    &lt;/controller&gt;
    &lt;controller type=&#039;ide&#039; index=&#039;0&#039;&gt;
      &lt;address type=&#039;pci&#039; domain=&#039;0x0000&#039; bus=&#039;0x00&#039; slot=&#039;0x01&#039; function=&#039;0x1&#039;&gt;&lt;/address&gt;
    &lt;/controller&gt;
    &lt;controller type=&#039;virtio-serial&#039; index=&#039;0&#039;&gt;
      &lt;address type=&#039;pci&#039; domain=&#039;0x0000&#039; bus=&#039;0x00&#039; slot=&#039;0x04&#039; function=&#039;0x0&#039;&gt;&lt;/address&gt;
    &lt;/controller&gt;
    &lt;interface type=&#039;bridge&#039;&gt;
      &lt;mac address=&#039;52:54:00:59:e1:78&#039;&gt;&lt;/mac&gt;
      &lt;source bridge=&#039;br0&#039;/&gt;
      &lt;address type=&#039;pci&#039; domain=&#039;0x0000&#039; bus=&#039;0x00&#039; slot=&#039;0x03&#039; function=&#039;0x0&#039;&gt;&lt;/address&gt;
    &lt;/interface&gt;
    &lt;serial type=&#039;pty&#039;&gt;
      &lt;target port=&#039;0&#039;&gt;&lt;/target&gt;
    &lt;/serial&gt;
    &lt;console type=&#039;pty&#039;&gt;
      &lt;target type=&#039;serial&#039; port=&#039;0&#039;&gt;&lt;/target&gt;
    &lt;/console&gt;
    &lt;channel type=&#039;spicevmc&#039;&gt;
      &lt;target type=&#039;virtio&#039; name=&#039;com.redhat.spice.0&#039;&gt;&lt;/target&gt;
      &lt;address type=&#039;virtio-serial&#039; controller=&#039;0&#039; bus=&#039;0&#039; port=&#039;1&#039;&gt;&lt;/address&gt;
    &lt;/channel&gt;
    &lt;input type=&#039;mouse&#039; bus=&#039;ps2&#039;/&gt;
    &lt;graphics type=&#039;spice&#039; autoport=&#039;yes&#039;&gt;&lt;/graphics&gt;
    &lt;video&gt;
      &lt;model type=&#039;qxl&#039; vram=&#039;65536&#039; heads=&#039;1&#039;&gt;&lt;/model&gt;
      &lt;address type=&#039;pci&#039; domain=&#039;0x0000&#039; bus=&#039;0x00&#039; slot=&#039;0x02&#039; function=&#039;0x0&#039;&gt;&lt;/address&gt;
    &lt;/video&gt;
    &lt;memballoon model=&#039;virtio&#039;&gt;
      &lt;address type=&#039;pci&#039; domain=&#039;0x0000&#039; bus=&#039;0x00&#039; slot=&#039;0x05&#039; function=&#039;0x0&#039;&gt;&lt;/address&gt;
    &lt;/memballoon&gt;
  &lt;/devices&gt;
&lt;/domain&gt;
</pre>
<p>Go through the install of Ubuntu Server 6.06.2.  After it is completed, you will need to modify a few files:</p>
<p>Replace /etc/apt/sources.list with:</p>
<pre>deb http://old-releases.ubuntu.com/ubuntu/ dapper main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ dapper-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ dapper-security main restricted universe multiverse</pre>
<pre>sudo apt-get update
sudo apt-get upgrade
sudo apt-get install alien</pre>
<p>Modify /boot/grub/menu.lst adding <strong>elevator=deadline</strong>:</p>
<pre>## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
 defoptions=quiet splash elevator=deadline

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery mode) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## ## End Default Options ##

title		Ubuntu, kernel 2.6.15-51-server
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.15-51-server root=/dev/hda1 ro quiet splash elevator=deadline
initrd		/boot/initrd.img-2.6.15-51-server
savedefault
boot</pre>
<p>Modify /etc/fstab to increase the size of tmpfs and to set noatime,nodiratime:</p>
<pre>/dev/hda1       /               ext3    rw,async,noatime,nodiratime,errors=remount-ro 0       1
tmpfs		/dev/shm        tmpfs   size=900M   0 0</pre>
<p>Modify /etc/sysctl.conf to set up the shared memory and virtual memory settings:</p>
<pre>vm.overcommit_memory=1
vm.swappiness=5
kernel.shmmax=1073741824
kernel.shmall=1073741824</pre>
<p>OPTIONAL: Install samba and winbind so you want to connect to your vm by name but don&#8217;t want to set up dns:</p>
<pre>sudo apt-get install samba winbind</pre>
<p>Modify /etc/nsswitch.conf:</p>
<pre>
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns mdns wins
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis</pre>
<p>OPTIONAL (needed for samba/winbind) Modify /etc/samba/smb.conf:</p>
<pre># add netbios name
netbios name = sybase-11033
# modify name resolve order
   name resolve order = bcast lmhosts host wins</pre>
<p>*RESTART* the VM</p>
<p>Convert the Sybase RPMs to debian packages (dpkg):</p>
<pre>sudo alien -d *.rpm</pre>
<p>Install Sybase SQL Server:</p>
<pre>sudo dpkg -i *.deb</pre>
<p>This will install the software into /opt/sybase.  </p>
<p>Add a sybase os user and change the owner of /opt/sybase to the sybase user:</p>
<pre>sudo adduser --home /opt/sybase --shell /bin/bash --no-create-home sybase
sudo chown -R sybase:sybase /opt/sybase</pre>
<p>I created a /opt/sybase/.bash_profile script but you can also put this in /etc/profile if you wish:</p>
<pre>export SYBASE=/opt/sybase

export SYBPLATFORM=linux
export LD_LIBRARY_PATH=$SYBASE/lib
export LC_ALL=default
unset LANG

export PATH=$SYBASE/bin:$PATH</pre>
<p>Start the Sybase configuration by running as the sybase user:</p>
<pre>$SYBASE/install/sybinit</pre>
<p>I would recommend a 100MB or larger master device and sybsystemprocs device for 11.0.3.3.  It will install just fine but if you try to start Sybase with more the 32MB of memory, it will fail.  If you want to increase it you need to do two things:</p>
<ol>
<li>Increase max shared memory (kernel.shmmax and kernel.shmall) in /etc/sysctl.conf &#8211; which we already did</li>
<li>Set the stack size to unlimited</li>
</ol>
<p>Setting the stack size to unlimited is easy so in your RUN_server file:</p>
<pre>#!/bin/sh
#
# Adaptive Server Information:
#  name:                          SYBASE_11033
#  master device:                 /opt/sybase/master.dat
#  master device size:            76800
#  errorlog:                      /opt/sybase/install/errorlog
#  interfaces:                    /opt/sybase
#

ulimit -s unlimited

/opt/sybase/bin/dataserver -d/opt/sybase/master.dat -sSYBASE_11033 \
-e/opt/sybase/install/errorlog -i/opt/sybase -c/opt/sybase/SYBASE_11033.cfg </pre>
<p>Since this is SQL Server 11.0.3.3, we don&#8217;t have to mess with LD_POINTER_GUARD.</p>
<p><a href="http://froebe.net/blog/wp-content/uploads/2013/03/Screenshot-from-2013-03-10-160531.png"><img src="http://froebe.net/blog/wp-content/uploads/2013/03/Screenshot-from-2013-03-10-160531-150x150.png" alt="Screenshot from 2013-03-10 16:05:31" width="150" height="150" class="alignnone size-thumbnail wp-image-1764" /></a></p>
<p>Why you would use such an old DBMS version?  You might have software that requires this version and the software vendor went out of business or discontinued the software with no upgrade path.  In any case, Sybase&#8217;s SQL Server 11.0.3.3 is still useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/03/10/howto-installing-and-running-sap-sybase-sql-server-11-0-3-3-esd-6-on-ubuntu-using-kvm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GIMP Magazine Issue 3 has been released!</title>
		<link>http://froebe.net/blog/2013/03/08/gimp-magazine-issue-3-has-been-released/</link>
		<comments>http://froebe.net/blog/2013/03/08/gimp-magazine-issue-3-has-been-released/#comments</comments>
		<pubDate>Fri, 08 Mar 2013 15:58:37 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Gimp]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Adobe Photoshop]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[G'MIC]]></category>
		<category><![CDATA[GIMP Magazine]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1726</guid>
		<description><![CDATA[  ISSUE 3 HIGHLIGHTS We are featuring the cover story on Andrea Zanovello, a highly talented photographer with some stunning shots to gaze at.  In an exclusive interview Andrea tells us all about his photography and what he hopes for in the next version of GIMP We have the first ever Issue of “The Hunt [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://gimpmagazine.org/"><img class="alignnone size-thumbnail wp-image-1727" alt="GIMP Magazine Issue 3" src="http://froebe.net/blog/wp-content/uploads/2013/03/GIMP-Magazine-Issue-3-FINAL-DIGITAL-page001-small-150x150.jpg" width="150" height="150" /></a></p>
<h1><span style="font-size: 13px;"> </span></h1>
<h1>ISSUE 3 HIGHLIGHTS</h1>
<ul type="disc">
<li>We are featuring the cover story on Andrea Zanovello, a highly talented photographer with some stunning shots to gaze at.  In an exclusive interview Andrea tells us all about his photography and what he hopes for in the next version of GIMP</li>
<li>We have the first ever Issue of “The Hunt for Wilber” a graphic novel by Dave Lepek, illustrated by Yeshua Nel, who you may know from the Master Class featured in Issue 2 of GIMP Magazine.  Yeshua has joined our team as a regular contributor / illustrator</li>
<li>We completed a 70+ point comparison between GIMP 2.8.0 and Adobe Photoshop CS5.5 Extended</li>
<li>We have a full length article on motion photography from Ian Muttoo who you may know from the cover story of Issue #1.  Ian has joined our team as a regular contributor</li>
<li>A whole lotta G’MIC coming your way.  We have a collection of G’MIC articles.  Debi Dalio who joined our team recently has given us three articles: a full length feature article about G’MIC and how it works, a super groovy tutorial on how to create a rotoidoscope pattern, and finally a product review of G’MIC.</li>
<li>Oma Dial has delivered a book review of, “The Night Parade of One Hundred Demons: a Field Guide to Japanese Yokai”.  The interesting twist is that this full length book is not a training guide, but rather was created using GIMP and other open source tools</li>
<li>We have a few short features on other talented photographers</li>
<li>We have an incredible photography gallery that we are positive will inspire you</li>
<li>We have continued our Tips and Tricks feature</li>
<li>And we wrapped all of this is in a very cool looking magazine</li>
<li>Oh yeah, did I mention that GIMP Magazine is FREE?</li>
</ul>
<h4><strong><a href="http://gimpmagazine.org/" target="_blank">GIMP Magazine</a></strong></h4>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/03/08/gimp-magazine-issue-3-has-been-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing OpenClient with Sybase&#8217;s ASE 15.7+ installer (setup.bin -i console)</title>
		<link>http://froebe.net/blog/2013/02/21/installing-openclient-with-sybases-ase-15-7-installer-setup-bin-i-console/</link>
		<comments>http://froebe.net/blog/2013/02/21/installing-openclient-with-sybases-ase-15-7-installer-setup-bin-i-console/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 19:58:14 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[AIX]]></category>
		<category><![CDATA[ASE]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[IQ]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[openclient]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[setup.bin]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1524</guid>
		<description><![CDATA[Installing Sybase OpenClient 15.7 or higher on *nix with setup.bin and don&#8217;t have X-Windows available, you will need to start the setup.bin with: ./setup.bin -i console If you want to install just OpenClient or some other thing, the problem comes with the poorly worded &#8220;Choose Product Features&#8221;: ENTER A COMMA_SEPARATED LIST OF NUMBERS REPRESENTING THE [...]]]></description>
				<content:encoded><![CDATA[<p>Installing Sybase OpenClient 15.7 or higher on *nix with setup.bin and don&#8217;t have X-Windows available, you will need to start the setup.bin with:</p>
<pre>./setup.bin -i console</pre>
<p>If you want to install just OpenClient or some other thing, the problem comes with the poorly worded &#8220;Choose Product Features&#8221;:</p>
<blockquote><p><em>ENTER A COMMA_SEPARATED LIST OF NUMBERS REPRESENTING THE FEATURES YOU WOULD</em><br />
<em>LIKE TO SELECT, OR DESELECT. TO VIEW A FEATURE&#8217;S DESCRIPTION, ENTER</em><br />
<em>&#8216;?&lt;NUMBER&gt;&#8217;. PRESS &lt;RETURN&gt; WHEN YOU ARE DONE:</em></p></blockquote>
<p>Read that twice.  So, does what exactly does that mean?  Well, unless you work with people that write proposals to be voted on in your local government, it is rather confusing.  It basically means:  Each item is a boolean.</p>
<ul>
<li><span style="line-height: 13px;">You want to install item and it is marked?  Do nothing</span></li>
<li>You want to install item and it is NOT marked?  Add the number to your answer</li>
<li>You don&#8217;t want to install an item and it is marked?  Add the number to your answer</li>
<li>You don&#8217;t want to install an item and it is not marked?  Do nothing</li>
</ul>
<p>For example, if I wanted to install just:</p>
<ul>
<li>Open Client</li>
<li>DB-Library</li>
<li>Embedded SQL/C</li>
<li>Embedded SQL/Cobol</li>
<li>XA Interface Library for ASE Distributed Transaction Manager</li>
<li>Additional Connectivity Language Modules</li>
<li>ASE Extension Module for Python</li>
<li>ASE Extension Module for PHP</li>
<li>jConnect 7.0 for JDBC</li>
<li>ASE ODBC Driver</li>
<li>Interactive SQL</li>
<li>QPTune</li>
<li>Sybase Central</li>
<li>Adaptive Server Plug-in for Sybase Central</li>
<li>SySAM License Utilities</li>
</ul>
<blockquote><p><em> Choose Product Features</em><br />
<em> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</em></p>
<p><em>ENTER A COMMA_SEPARATED LIST OF NUMBERS REPRESENTING THE FEATURES YOU WOULD</em><br />
<em> LIKE TO SELECT, OR DESELECT. TO VIEW A FEATURE&#8217;S DESCRIPTION, ENTER</em><br />
<em> &#8216;?&#8217;. PRESS WHEN YOU ARE DONE:</em></p>
<p><em>1- [-] Adaptive Server Enterprise</em><br />
<em> 2- |-[ ] Additional ASE Language Modules</em><br />
<em> 3- |-[X] Sybase Control Center Agent for ASE</em><br />
<em> 4- |-[ ] Sybase Control Center SNMP Agent for ASE</em><br />
<em> 5- [-] Open Client</em><br />
<em> 6- |-[X] DB-Library</em><br />
<em> 7- |-[ ] Embedded SQL/C</em><br />
<em> 8- |-[ ] Embedded SQL/Cobol</em><br />
<em> 9- |-[ ] XA Interface Library for ASE Distributed Transaction Manager</em><br />
<em> 10- |-[ ] Additional Connectivity Language Modules</em><br />
<em> 11- |-[X] ASE Extension Module for Python</em><br />
<em> 12- |-[X] ASE Extension Module for PHP</em><br />
<em> 13- [X] jConnect 7.0 for JDBC</em><br />
<em> 14- [X] ASE ODBC Driver</em><br />
<em> 15- [X] Interactive SQL</em><br />
<em> 16- [X] QPTune</em><br />
<em> 17- [X] Sybase Central</em><br />
<em> 18- |-[X] Adaptive Server Plug-in</em><br />
<em> 19- [-] SySAM License Utilities</em><br />
<em> 20- |-[ ] SySAM License Server</em></p>
<p><span style="color: #ff9900;"><strong><em>Please choose the Features to be installed by this installer.: 1,7,8,9,10</em></strong></span></p></blockquote>
<p>You get one shot at choosing what you want installed.  Seriously Sybase?</p>
<p>After agreeing to the User License Agreement, why am I agreeing to it here instead of at the start of the installation or right before the files are copied???, the installer will list what you&#8217;re about to install.  Review it carefully, if something is wrong, ctrl-c out of  the installer and try again.</p>
<blockquote><p>Pre-Installation Summary</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Please Review the Following Before Continuing:</p>
<p>Product Name:<br />
Sybase Adaptive Server Enterprise Suite</p>
<p>Install Folder:<br />
/home/homer.simpson</p>
<p><strong>Product Features:</strong><br />
<strong> Open Client,</strong><br />
<strong> DB-Library,</strong><br />
<strong> Embedded SQL/C,</strong><br />
<strong> Embedded SQL/Cobol,</strong><br />
<strong> XA Interface Library for ASE Distributed Transaction Manager,</strong><br />
<strong> Additional Connectivity Language Modules,</strong><br />
<strong> ASE Extension Module for Python,</strong><br />
<strong> ASE Extension Module for PHP,</strong><br />
<strong> jConnect 7.0 for JDBC,</strong><br />
<strong> ASE ODBC Driver,</strong><br />
<strong> Interactive SQL,</strong><br />
<strong> QPTune,</strong><br />
<strong> Sybase Central,</strong><br />
<strong> Adaptive Server Plug-in,</strong><br />
<strong> SySAM License Utilities</strong></p>
<p>Disk Space Information (for Installation Target):</p></blockquote>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/02/21/installing-openclient-with-sybases-ase-15-7-installer-setup-bin-i-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO: Building Perl module DBD::Sybase 1.14 on Windows (32bit or 64bit) with ActiveState Perl 5.16, Microsoft Visual Studio and Sybase OpenClient 15.7</title>
		<link>http://froebe.net/blog/2013/02/20/howto-building-perl-module-dbdsybase-1-14-on-windows-32bit-or-64bit-with-activestate-perl-5-16-microsoft-visual-studio-and-sybase-openclient-15-7/</link>
		<comments>http://froebe.net/blog/2013/02/20/howto-building-perl-module-dbdsybase-1-14-on-windows-32bit-or-64bit-with-activestate-perl-5-16-microsoft-visual-studio-and-sybase-openclient-15-7/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 02:13:32 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[ASE]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[DBI]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[IQ]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[1.14]]></category>
		<category><![CDATA[15.7]]></category>
		<category><![CDATA[activestate]]></category>
		<category><![CDATA[activestate perl]]></category>
		<category><![CDATA[building]]></category>
		<category><![CDATA[compiling]]></category>
		<category><![CDATA[dbd]]></category>
		<category><![CDATA[dbd::sybase]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[nmake]]></category>
		<category><![CDATA[openclient]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[visual studio 2005]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1515</guid>
		<description><![CDATA[Compiling the DBD::Sybase Perl module really requires Microsoft Visual C++ 2005 or higher. To get started open the &#8220;Visual Studio 2005 Command Prompt&#8221;. You will need to fix the Makefile.PL file: if ( $^O eq 'MSWin32' ) { $lib_string = "-L$SYBASE/lib -llibct.lib -llibcs.lib -llibtcl.lib -llibcomn.lib -llibintl.lib -llibblk.lib $attr{EXTRA_LIBS} -lm"; to if ( $^O eq 'MSWin32' [...]]]></description>
				<content:encoded><![CDATA[<p>Compiling the <a href="http://search.cpan.org/~mewp/DBD-Sybase-1.14/Sybase.pm">DBD::Sybase</a> <a href="http://www.perl.org">Perl</a> module really requires Microsoft Visual C++ 2005 or higher.  To get started open the &#8220;Visual Studio 2005 Command Prompt&#8221;.<a href="http://froebe.net/blog/wp-content/uploads/2013/02/vs2005cmd.png"><img src="http://froebe.net/blog/wp-content/uploads/2013/02/vs2005cmd-150x150.png" alt="Visual Studio 2005 Command Prompt" width="150" height="150" class="alignright size-thumbnail wp-image-1516" /></a></p>
<p>You will need to fix the Makefile.PL file:</p>
<pre>if ( $^O eq 'MSWin32' ) {
  $lib_string = "-L$SYBASE/lib -llibct.lib -llibcs.lib -llibtcl.lib -llibcomn.lib -llibintl.lib -llibblk.lib $attr{EXTRA_LIBS} -lm";</pre>
<p>to</p>
<pre>if ( $^O eq 'MSWin32' ) {
  $lib_string = "-L$SYBASE/lib -llibsybct.lib -llibsybcs.lib -llibsybblk.lib $attr{EXTRA_LIBS}";</pre>
<p>If you don&#8217;t, nmake won&#8217;t be able to link against the Sybase libraries.  Note that we&#8217;re adding &#8220;syb&#8221; after &#8220;lib&#8221;.</p>
<pre>Warning (mostly harmless): No library found for -llibct.lib
Warning (mostly harmless): No library found for -llibcs.lib
Warning (mostly harmless): No library found for -llibtcl.lib
Warning (mostly harmless): No library found for -llibcomn.lib
Warning (mostly harmless): No library found for -llibintl.lib
Warning (mostly harmless): No library found for -llibblk.lib
Warning (mostly harmless): No library found for -lm</pre>
<p>When you run perl Makefile.PL, choose the defaults because the nmake test will NOT work with Visual Studio.<br />
Next we need to change lines 3915 and 3916 in dbdimp.c because C89 requires that declarations of variables must occur at the beginning of a code block.  This is part of the C89 specification. </p>
<pre>for (i = 0; i < foundOutput; i++) {
phs = params[i].phs;
CS_DATAFMT datafmt;</pre>
<p>to</p>
<pre>for (i = 0; i < foundOutput; i++) {
CS_DATAFMT datafmt;
phs = params[i].phs;</pre>
<p>If you don't we will get the following errors:</p>
<pre>dbdimp.c(3916) : error C2275: 'CS_DATAFMT' : illegal use of this type as an expression
        C:\Sybase\OCS-15_0\include\cstypes.h(864) : see declaration of 'CS_DATAFMT'
dbdimp.c(3916) : error C2146: syntax error : missing ';' before identifier 'datafmt'
dbdimp.c(3916) : error C2065: 'datafmt' : undeclared identifier
dbdimp.c(3918) : warning C4133: 'function' : incompatible types - from 'int *' to 'CS_DATAFMT *'
dbdimp.c(3921) : error C2224: left of '.maxlength' must have struct/union type
dbdimp.c(3926) : warning C4018: '< ' : signed/unsigned mismatch
dbdimp.c(4146) : warning C4244: 'function' : conversion from 'CS_BIGINT' to 'const NV', possible loss of data
dbdimp.c(4151) : warning C4244: 'function' : conversion from 'CS_UBIGINT' to 'const NV', possible loss of data
dbdimp.c(5124) : warning C4244: '=' : conversion from 'long' to 'CS_BINARY', possible loss of data
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\cl.EXE"' : return code '0x2'
Stop.</pre>
<p>The nmake will now complete with many warnings.  I've started on working up a patch for the DBD::Sybase maintainer, Michael Peppler.  Tar and gzip the blib directory and call it DBD-Sybase-1.14.tar.gz.  Put it in a directory like so: "MSWin32-x64-multi-thread-5.16\DBD-Sybase-1.14.tar.gz"</p>
<pre>nmake ppd</pre>
<p>Now, you will have a file called DBD-Sybase.ppd consisting of:</p>
<pre>&lt;softpkg NAME=&quot;DBD-Sybase&quot; VERSION=&quot;1.14&quot;&gt;
    &lt;abstract&gt;DBI driver for Sybase datasources&lt;/abstract&gt;
    &lt;author&gt;Michael Peppler (mpeppler@peppler.org)&lt;/author&gt;
    &lt;implementation&gt;
        &lt;architecture NAME=&quot;MSWin32-x86-multi-thread-5.16&quot;&gt;&lt;/architecture&gt;
        &lt;codebase HREF=&quot;MSWin32-x86-multi-thread-5.16\DBD-Sybase-1.14.tar.gz&quot;&gt;&lt;/codebase&gt;
    &lt;/implementation&gt;
</pre>
<p>If you want to build multiple architectures, you will need to build the Module on the appropriate platform.  e.g. Windows 7 64bit.  I haven't had much luck with cross-compilers with ActiveState Perl.  YMMV.  Once you have the second tar ball, simply add it to your PPD file:</p>
<pre>&lt;softpkg NAME=&quot;DBD-Sybase&quot; VERSION=&quot;1.14&quot;&gt;
    &lt;abstract&gt;DBI driver for Sybase datasources&lt;/abstract&gt;
    &lt;author&gt;Michael Peppler (mpeppler@peppler.org)&lt;/author&gt;
    &lt;implementation&gt;
        &lt;architecture NAME=&quot;MSWin32-x64-multi-thread-5.16&quot;&gt;&lt;/architecture&gt;
        &lt;codebase HREF=&quot;MSWin32-x64-multi-thread-5.16\DBD-Sybase-1.14.tar.gz&quot;&gt;&lt;/codebase&gt;
    &lt;/implementation&gt;
    &lt;implementation&gt;
        &lt;architecture NAME=&quot;MSWin32-x86-multi-thread-5.16&quot;&gt;&lt;/architecture&gt;
        &lt;codebase HREF=&quot;MSWin32-x86-multi-thread-5.16\DBD-Sybase-1.14.tar.gz&quot;&gt;&lt;/codebase&gt;
    &lt;/implementation&gt;
&lt;/softpkg&gt;</pre>
<p>I typically zip up the PPD file and the two directories listed in the PPD and distribute that.  How you do it is entirely up to you.  </p>
<p>Oh, if you want DBD::Sybase on Windows to connect to Microsoft SQL Server, build with <a href="http://www.freetds.org">FreeTDS</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2013/02/20/howto-building-perl-module-dbdsybase-1-14-on-windows-32bit-or-64bit-with-activestate-perl-5-16-microsoft-visual-studio-and-sybase-openclient-15-7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
