<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Zare's Technical Miscellany</title>
	<link>http://www.spacefish.org/blog</link>
	<description></description>
	<pubDate>Thu, 04 Sep 2008 19:40:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Compiling nsxml 1.5 with libxml2 2.7.1</title>
		<link>http://www.spacefish.org/blog/2008/09/03/compiling-nsxml-15-with-libxml2-271/</link>
		<comments>http://www.spacefish.org/blog/2008/09/03/compiling-nsxml-15-with-libxml2-271/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 01:57:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.spacefish.org/blog/2008/09/03/compiling-nsxml-15-with-libxml2-271/</guid>
		<description><![CDATA[If the nsxml 1.5 make process has trouble finding the libxml2 libraries, modify the Makefile as follows:
# $Header: /cvsroot/aolserver/nsxml/Makefile,v 1.3 2002/06/01 17:30:24 scottg Ex
p $
#
# nsxml &#8211;
#
#      Implements XML parser
#
ifdef INST
NSHOME ?= $(INST)
else
NSHOME ?= /usr/local/aolserver
endif
LIBXML2 =       /usr/local/lib
LIBXSLT =       /usr/local/lib
MOD       =  nsxml.so
OBJS      =  nsxml.o
HDRS      =
ifdef LIBXSLT
MODLIBS   = -L/usr/local/lib -lxml2 -lxslt
CFLAGS   += -DDO_XSLT -I/usr/local/include/libxml2 -I/usr/local/include
else
MODLIBS   = -L$(LIBXML2)/lib [...]]]></description>
			<content:encoded><![CDATA[<p>If the nsxml 1.5 make process has trouble finding the libxml2 libraries, modify the Makefile as follows:</p>
<p># $Header: /cvsroot/aolserver/nsxml/Makefile,v 1.3 2002/06/01 17:30:24 scottg Ex<br />
p $<br />
#<br />
# nsxml &#8211;<br />
#<br />
#      Implements XML parser<br />
#</p>
<p>ifdef INST<br />
NSHOME ?= $(INST)<br />
else<br />
NSHOME ?= /usr/local/aolserver<br />
endif</p>
<p>LIBXML2 =       /usr/local/lib<br />
LIBXSLT =       /usr/local/lib</p>
<p>MOD       =  nsxml.so<br />
OBJS      =  nsxml.o<br />
HDRS      =</p>
<p>ifdef LIBXSLT<br />
MODLIBS   = -L/usr/local/lib -lxml2 -lxslt<br />
CFLAGS   += -DDO_XSLT -I/usr/local/include/libxml2 -I/usr/local/include<br />
else<br />
MODLIBS   = -L$(LIBXML2)/lib -lxml2<br />
CFLAGS   += -I$(LIBXML2)/include/libxml2<br />
endif</p>
<p>include  $(NSHOME)/include/Makefile.module</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spacefish.org/blog/2008/09/03/compiling-nsxml-15-with-libxml2-271/feed/</wfw:commentRss>
		</item>
		<item>
		<title>libmcrypt on solaris 10 x86</title>
		<link>http://www.spacefish.org/blog/2008/09/03/libmcrypt-on-solaris-10-x86/</link>
		<comments>http://www.spacefish.org/blog/2008/09/03/libmcrypt-on-solaris-10-x86/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 19:53:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[libmcrypt]]></category>

		<guid isPermaLink="false">http://www.spacefish.org/blog/2008/09/03/libmcrypt-on-solaris-10-x86/</guid>
		<description><![CDATA[On my installation of Solaris 10 x86, libmcrypt 2.5.8 will not pass the &#8220;make check&#8221; tests unless it is configured with
./configure &#8211;enable-dynamic-loading
]]></description>
			<content:encoded><![CDATA[<p>On my installation of Solaris 10 x86, libmcrypt 2.5.8 will not pass the &#8220;make check&#8221; tests unless it is configured with</p>
<p>./configure &#8211;enable-dynamic-loading</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spacefish.org/blog/2008/09/03/libmcrypt-on-solaris-10-x86/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Useful stuff for AOLServer</title>
		<link>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-aolserver/</link>
		<comments>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-aolserver/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 23:11:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[aolserver]]></category>

		<guid isPermaLink="false">http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-aolserver/</guid>
		<description><![CDATA[Why does AOLServer 4.5 build fail with
nslibinit.c:(.text+0x0): multiple definition of `_init' ?

http://www.mail-archive.com/aolserver@listserv.aol.com/msg11286.html
]]></description>
			<content:encoded><![CDATA[<p>Why does AOLServer 4.5 build fail with</p>
<pre style="margin: 0em">nslibinit.c:(.text+0x0): multiple definition of `_init' ?</pre>
<pre style="margin: 0em"></pre>
<pre style="margin: 0em">http://www.mail-archive.com/aolserver@listserv.aol.com/msg11286.html</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-aolserver/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Useful stuff for Oracle</title>
		<link>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-oracle/</link>
		<comments>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-oracle/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 23:09:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-oracle/</guid>
		<description><![CDATA[Connect to system space as sysdba: (su oracle)
sqlplus &#8220;system/manager as sysdba&#8221;
List oracle running processes:
select pid as ora_pid, spid as nix_pid, serial#, background
from v$process
See which ora session is associated with which OS process:
select sid as session_id, serial#, status, process as nix_pid, sql_hash_value
from v$session;
See what SQL an oracle session is running:
select pid as ora_pid, spid as nix_spid, [...]]]></description>
			<content:encoded><![CDATA[<p>Connect to system space as sysdba: (su oracle)<br />
sqlplus &#8220;system/manager as sysdba&#8221;</p>
<p>List oracle running processes:<br />
select pid as ora_pid, spid as nix_pid, serial#, background<br />
from v$process</p>
<p>See which ora session is associated with which OS process:<br />
select sid as session_id, serial#, status, process as nix_pid, sql_hash_value<br />
from v$session;</p>
<p>See what SQL an oracle session is running:<br />
select pid as ora_pid, spid as nix_spid, s.sid as session_id, users_executing, sql_text<br />
from v$process p, v$session s, v$sqlarea a<br />
where p.addr = s.paddr<br />
and s.sql_hash_value = a.hash_value<br />
order by cast(spid as int)</p>
<p>Declare a bind variable in Sql*Plus:<br />
variable my_var number;</p>
<p>begin<br />
:my_var := 123;<br />
end;<br />
/</p>
<p>print my_var</p>
<p>Have Sql*Plus ask you for a value in a query:<br />
select *<br />
from tblFoo<br />
where foo_id = &amp;myVar</p>
<p>Have Sql*Plus output a query as an html table:<br />
sqlplus -s -m &#8220;HTML ON TABLE &#8216;border=0 cellpadding=2 cellspacing=2&#8242;&#8221; mydbuser/mydbpass @report_query.sql &gt; report_file.html</p>
<p>Show user grants:<br />
(as sysdba) select * from dba_role_privs;</p>
<p>Show used/free space by tablespace (in MB):</p>
<p>SELECT Total.name &#8220;Tablespace Name&#8221;,<br />
nvl(Free_space, 0) Free_space,<br />
nvl(total_space-Free_space, 0) Used_space,<br />
total_space<br />
FROM<br />
(select tablespace_name, sum(bytes/1024/1024) Free_Space<br />
from sys.dba_free_space<br />
group by tablespace_name<br />
) Free,<br />
(select b.name,  sum(bytes/1024/1024) TOTAL_SPACE<br />
from sys.v_$datafile a, sys.v_$tablespace B<br />
where a.ts# = b.ts#<br />
group by b.name<br />
) Total<br />
WHERE Free.Tablespace_name(+) = Total.name<br />
ORDER BY Total.name</p>
<p>Shutting down oracle:<br />
shutdown normal</p>
<p>Starting up oracle:</p>
<p>svrmgrl</p>
<p>connect internal</p>
<p>startup</p>
<p>Modifying lob columns:</p>
<pre><a name="Altering LOB Columns in a Table"></a>ALTER TABLE &lt;table name&gt;
    ADD (&lt;lobcol&gt; &lt;LOBTYPE&gt; &lt;LOB_clause_same_as_for_create&gt;) |
    MODIFY LOB (&lt;lobcol&gt;) (
                [PCTVERSION &lt;version_number&gt;]
                [ { CACHE | NO CACHE [{LOGGING | NOLOGGING}]
                          | CACHE READS [{LOGGING | NOLOGGING}]
                  }
                ]
    ) |
    MOVE [ONLINE] [&lt;physical_attributes&gt;] [TABLESPACE &lt;tablespace_name&gt;]
    [LOGGING | NOLOGGING] [&lt;LOB_clause_same_as_for_create&gt;]</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-oracle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Useful stuff for Solaris</title>
		<link>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-solaris/</link>
		<comments>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-solaris/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 23:08:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-solaris/</guid>
		<description><![CDATA[Adding a user:
useradd -d /path/to/home -m -s /path/to/shell -c &#8220;First Last&#8221; username
-m = make home directory and copy skeleton files
Removing a user:
userdel -r username
-r = remove the home directory
Show user&#8217;s group membership:
groups username
Change user&#8217;s group membership:
usermod -G group1,group2,group3 username
Customize the command prompt:
PS1=&#8221;`whoami`@`hostname`#&#8221;
PS1=&#8221;[\u@\h \w]#&#8221;
\! History number of current command
\#  Command number of current command
\d Current date
\h [...]]]></description>
			<content:encoded><![CDATA[<p>Adding a user:<br />
useradd -d /path/to/home -m -s /path/to/shell -c &#8220;First Last&#8221; username</p>
<p>-m = make home directory and copy skeleton files</p>
<p>Removing a user:<br />
userdel -r username<br />
-r = remove the home directory</p>
<p>Show user&#8217;s group membership:<br />
groups username</p>
<p>Change user&#8217;s group membership:<br />
usermod -G group1,group2,group3 username</p>
<p>Customize the command prompt:<br />
PS1=&#8221;`whoami`@`hostname`#&#8221;<br />
PS1=&#8221;[\u@\h \w]#&#8221;<br />
\! History number of current command<br />
\#  Command number of current command<br />
\d Current date<br />
\h Host name<br />
\n Newline<br />
\s Shell name<br />
\t Current time<br />
\u User name<br />
\W Current working directory<br />
\w Current working directory (full path)</p>
<p>Disk Management:<br />
Slice = a contiguous range of blocks<br />
8 slices per disk (generally)<br />
1 file system per slice<br />
File system cannot span multiple slices (without a LVM)<br />
Slice cannot span multiple disks</p>
<p>Moving files with CPIO:<br />
find . -depth | cpio -p -d -m -v /path/to/dest</p>
<p>See what process is preventing a umount<br />
fuser -u /dev/dsk/c0t2d0s7</p>
<p>What is /var/adm/pacct:<br />
pacct = process accounting file<br />
ckpacct checks the size of the pacct file. If it exceeds 500 blocks (default)<br />
accounting will be turned off</p>
<p>turnacct turns accounting on/off. Use switch arg to move the current pacct file to<br />
/var/adm/pacct[filenum]</p>
<p>calling ckpacct will also rotate the pacct file</p>
<p>Privilege debugging in solaris 10:</p>
<p>ppriv -e -D original_command (shows what privileges the user is missing in order to run the command)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spacefish.org/blog/2008/04/25/useful-stuff-for-solaris/feed/</wfw:commentRss>
		</item>
		<item>
		<title>security vs. usability: &#8220;strong&#8221; passwords</title>
		<link>http://www.spacefish.org/blog/2008/04/05/security-vs-usability-strong-passwords/</link>
		<comments>http://www.spacefish.org/blog/2008/04/05/security-vs-usability-strong-passwords/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 20:25:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[HCI]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.spacefish.org/blog/2008/04/05/security-vs-usability-strong-passwords/</guid>
		<description><![CDATA[Since I am a consumer of online financial services (banking, investment, etc) and also work with financial service providers in that area, I&#8217;ve had the opportunity to sample a large number of username/password security schemes. It&#8217;s a no-brainer to prevent users from doing the obviously silly, like making their password the same as their login [...]]]></description>
			<content:encoded><![CDATA[<p>Since I am a consumer of online financial services (banking, investment, etc) and also work with financial service providers in that area, I&#8217;ve had the opportunity to sample a large number of username/password security schemes. It&#8217;s a no-brainer to prevent users from doing the obviously silly, like making their password the same as their login or having a two-character password. Unfortunately, many security scheme designers forget that their website is only one of many that users engage with, and foist schemes on their users that are irritating at best and possibly counterproductive at worst.</p>
<p>Many sites now defeat form autocompletion for username fields as well as password fields. Sorry, no I <em>don&#8217;t</em> remember what username I picked when I signed up with you&#8211; especially if you wouldn&#8217;t let me use my first or second choice.</p>
<p>One credit card company I use disallows special characters in their online account passwords. That means I had to choose a password that is actually weaker than I prefer, and it doesn&#8217;t fit the mnemonics I use to remember this stuff. That means I can either go through the password reset process a lot (irritating), guess and hope I don&#8217;t get it wrong enough times to lock out the account (also irritating), or write it down somewhere (insecure).</p>
<p>Same problem with sites that force periodic password changes.</p>
<p>Most username/password schemes are clearly meant to deal with brute force or lucky guess attacks, and of course that is a legitimate concern. However, the more complicated these schemes get and the more they vary between sites, the more users will start finding insecure coping strategies&#8211; like writing things down on paper. Now your complicated, unguessable password is out there in plaintext for everyone to see. Oops!</p>
<p>The limits of human memory and patience are just as much of an issue as more &#8220;obvious&#8221; security risks.</p>
<p>One online bank, ING Direct, has an interesting security approach that I have not seen elsewhere.  Users log in with a customer number and short ATM-style PIN. The PIN is entered either by clicking numbered  buttons or typing letter equivalents that rotate with each visit. The site tracks the user&#8217;s IP address and (IIRC) requires further validation if the IP is new. In addition, as an anti-phishing measure the site shows the user a picture and phrase they picked when setting up the account. With this approach, ING maintains account security <em>and</em> a smooth user experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spacefish.org/blog/2008/04/05/security-vs-usability-strong-passwords/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
