<?xml version="1.0" encoding="iso-8859-1"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
  <title>The log</title>
  <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/" />
  <modified>2005-07-01T21:16:32Z</modified>
  <tagline></tagline>
  <id>tag:www.pointcircle.com,2007:/blog//1</id>
  <generator url="http://www.movabletype.org/" version="2.661">Movable Type</generator>
  <copyright>Copyright (c) 2005, Steven</copyright>
  <entry>
    <title>Building python-ldap..</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000028.html" />
    <modified>2005-07-01T21:16:32Z</modified>
    <issued>2005-07-01T22:16:32+00:00</issued>
    <id>tag:www.pointcircle.com,2005:/blog//1.28</id>
    <created>2005-07-01T21:16:32Z</created>
    <summary type="text/plain"> http://blogs.nuxeo.com/sections/blogs/florent_guillaume/2005_05_21_compiling_python_2_3_5/tbping...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p style="font-family:serif;">
http://blogs.nuxeo.com/sections/blogs/florent_guillaume/2005_05_21_compiling_python_2_3_5/tbping
</p>]]>
      <![CDATA[<p>
<span style="font-family:serif;">Here's how you do it. 
<br />
<br />Thanks to </span><span style="font-family:serif;"><a href="http://blogs.nuxeo.com/sections/blogs/florent_guillaume/2005_05_21_compiling_python_2_3_5#trackbacks">florent</a></span> for this one!!
<br /><span style="font-family:serif;">
<br />Building Berkeley DB 4.3.28 (needed by OpenLDAP):
<br /></span>
</p><p style="font-family:monospace;background-color:#eeeeee;">
cd build_unix
<br />../dist/configure
<br />make
<br />sudo make install
</p><p style="font-family:serif;">
Building OpenLDAP 2.2.26:
</p><p style="font-family:monospace;background-color:#eeeeee;">
CPPFLAGS=-I/usr/local/BerkeleyDB.4.3/include LDFLAGS=-L/usr/local/BerkeleyDB.4.3/lib ./configure
<br />vi config.status
<br />  # replace s%@LIBS@%%g with:
<br />  s%@LIBS@%-lresolv%g
<br />./config.status
<br />make depend
<br />make
<br />sudo make install
</p><p style="font-family:serif;">
Building python-ldap 2.0.7:
</p><p style="font-family:monospace;background-color:#eeeeee;">
vi setup.cfg
<br />  library_dirs = /usr/local/lib
<br />  include_dirs = /usr/local/include
<br />  # comment libs = sasl2 in libs:
<br />  libs = ldap_r lber ssl crypto
<br />/usr/local/bin/python2.3 setup.py build
<br />sudo /usr/local/bin/python2.3 setup.py install
</p>]]>
    </content>
  </entry>
  <entry>
    <title>This is test with Ecto on Pather..</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000027.html" />
    <modified>2005-05-02T02:37:19Z</modified>
    <issued>2005-05-02T03:37:19+00:00</issued>
    <id>tag:www.pointcircle.com,2005:/blog//1.27</id>
    <created>2005-05-02T02:37:19Z</created>
    <summary type="text/plain"> This is a simple test with a Link Candy Shop from the album &quot;Candy Shop - Single&quot; by 50 Cent...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Social Issues</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
This is a simple test with a <a href="http://livepage.apple.com/">Link</a>
</p><p>
<strong>Candy Shop</strong> from the album "Candy Shop - Single" by <a href="http://www.google.com/search?q=%2250%20Cent%22">50 Cent</a>
</p>]]>
      <![CDATA[<p>
Way cool..
</p>]]>
    </content>
  </entry>
  <entry>
    <title>Jabberd on OS X</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000026.html" />
    <modified>2005-03-02T23:30:08Z</modified>
    <issued>2005-03-02T23:30:08+00:00</issued>
    <id>tag:www.pointcircle.com,2005:/blog//1.26</id>
    <created>2005-03-02T23:30:08Z</created>
    <summary type="text/plain"> OK this will detail out how to get a local jabber server (jabberd-2.0s6) running on OSX. I needed this to start working out a new reporting mechanism which will communicate around the world via jabber. So what better place...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Code / Scripts</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
OK this will detail out how to get a local jabber server (jabberd-2.0s6) running on OSX.  I needed this to start working out a new reporting mechanism which will communicate around the world via jabber.  So what better place to do this then to have a local jabber server running.  Here's how:
</p>]]>
      <![CDATA[<p>
<strong>Step 1.  - Get libidn</strong>
</p><p style="text-indent:20pt;">
Go <a href="http://www.gnu.org/software/libidn/">here</a> and get libidn.  This is needed by jabberd and OS X doesn't ship with it.
</p><p style="text-indent:20pt;">
<span style="font-family:monospace;">./configure
<br />make
<br />sudo make install</span>
</p><p>
<strong>Step 2.  - Get mysql</strong>
</p><p style="text-indent:20pt;">
Go <a href="http://dev.mysql.com/downloads/mysql/4.0.html">here</a> and get and install the Standard mysql.  This is also needed by a default jabber server - which is what we want.
</p><p style="text-indent:20pt;">
This comes as a dmg so install it and the start-up script for mysql.  Also the default installation is /usr/local/mysql - This is important because we need to know where the libraries are.  To find this out:
</p><p style="text-indent:20pt;font-family:monospace;">
cd &lt;mysql install dir&gt;/bin
<br />mysql_config --libs
</p><p style="text-indent:20pt;">
Remember this line as it defines where we need to look for libraries..  I got this from the <a href="http://dev.mysql.com/doc/mysql/en/link-errors.html">docs</a>..
</p><p>
<strong>Step 3.  - Get jabberd</strong>
</p><p style="text-indent:20pt;">
Go <a href="http://mirror.etf.bg.ac.yu/freebsd/distfiles/jabber/">here</a> and get the jabberd-2.0s6.  Note the standard <a href="http://jabberd.jabberstudio.org/2/#download">link</a> on jabberd.org does work..
</p><p style="text-indent:20pt;">
Now we want to compile mysql into this and let me say what a PITA!!!  However, after debugging it I thing the right thing to do is two things.  YMMV of course.
</p><p style="text-indent:20pt;">
I edited the configure file on line 20269 from
<br /><span style="font-family:monospace;">for incpath in /usr/include/mysql /usr/local/include/mysql; do
<br /></span>to<span style="font-family:monospace;">
<br />for incpath in /usr/include/mysql /usr/local/mysql/include /usr/local/include/mysql; do
<br />
<br /></span>then I did ..<span style="font-family:monospace;">
<br />
<br />export LDFLAGS="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm $LDFLAGS"; ./configure --enable-debug --sysconfdir=/etc/ --enable-mysql --with-extra-include-path=/usr/local/mysql/include --with-extra-library-path=/usr/local/mysql/lib
<br />
<br />make
<br />
<br /></span>
</p><p style="text-indent:20pt;">
It should end with this - which is OK.<span style="font-family:monospace;">
<br /></span>
</p><p style="text-indent:20pt;">
<span style="font-family:monospace;">ld: warning empty table of contents: ../subst/.libs/libsubst.a (can't load from it)
<br />
<br />sudo make install
<br />
<br /></span>From there it was a simple.  I followed the <a href="http://jabberd.jabberstudio.org/2/docs/">instructions</a> and added a few of my own..
<br />Change the pid,db,and log file locations
</p>]]>
    </content>
  </entry>
  <entry>
    <title>Apple ==  Python, Perforce, XCode - Pure Nirvana</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000025.html" />
    <modified>2005-02-26T03:21:43Z</modified>
    <issued>2005-02-26T03:21:43+00:00</issued>
    <id>tag:www.pointcircle.com,2005:/blog//1.25</id>
    <created>2005-02-26T03:21:43Z</created>
    <summary type="text/plain"> Ok I figured out how to get XCode to build a decent coding environment for python. This includes getting the SCM (Perforce) integrated and building a (quasi) debugging environment using pdb.py. If this interests you then follow along. In...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Linux / Mac OSX / Solaris</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
Ok I figured out how to get XCode to build a decent coding environment for python.  This includes getting the SCM (Perforce) integrated and building a (quasi) debugging environment using pdb.py.  If this interests you then follow along.
</p><p>
In this piece I will detail how to get perforce and XCode to play nicely.  
</p>]]>
      <![CDATA[<p>
<strong>Step 1 - Getting a SCM setup that works for you.</strong>
</p><p>
Ok I <a href="http://www.pointcircle.com/blog/archives/000024.html#more">figured</a> out how to get perforce to work on my linux box.  And now I have a place to play.  How do I want the directory structure to fit is a common question.  So let me outline how I <em>think</em> I want my development environment setup.  I've bee a long time hacker, and this is the first time I want to enable perforce SCM for all of my development (perhaps others) activities. So how do I want this setup?  When I am finished I want a directory structure that looks like this:
<br /><span style="font-family:monospace;">&lt;some base directory&gt;
<br /></span>
</p><p style="text-indent:20pt;font-family:monospace;">
scripts
</p><p style="text-indent:40pt;font-family:monospace;">
perl
<br />python
<br />.
<br />.
</p><p style="text-indent:20pt;font-family:monospace;">
projects
</p><p style="text-indent:40pt;font-family:monospace;">
proj1 (Some XCode or other project)
<br />proj2
<br />.
<br />.
<br />projN
</p><p>
So this seems simple enough - and it is.  After a bit of trial and error playing with P4CLIENTS I have this setup.  So let's assume you have a server (called server).  
</p><p>
Ensure you have an empty base directory.  For this example I created a directory on my client ( mkdir ~/depot ).  Next create a client workspace.  I used p4v to do this and simply did the following:
</p><ul>
<li> Open Connection (File-&gt;Open Connection)</li>
</ul><ul>
<li> Connect To:  &lt; your server and port &gt;</li>
<li> Connect As: &lt; your username &gt; ( if this is the first time you must select New.. )</li>
<li> Client Workspace:</li>
</ul><ul>
<li> I named one steven and selected New..</li>
<li> Under the name I called it steven</li>
</ul><ul>
<li> Owner: Steven</li>
<li> Host: &lt;default&gt;</li>
<li> Description: Steven depot</li>
<li> Root: &lt;base directory&gt;</li>
<li></li>
</ul><p>
Now you should have a empty directory tree.  Let's add our appropriate directories.
</p><p style="text-indent:20pt;">
<span style="font-family:monospace;">mkdir ~/depot/scripts/python
<br />mkdir ~/depot/projects</span>
</p><p>
Ok now let's put a file in the python directory and use p4v to check the thing in.  
</p><p style="text-indent:20pt;">
cp &lt;my python script&gt; ~/depot/scripts/python
</p><p>
Ok switch over to the p4v and refresh the Client Workspace.  Seeing your new file right click and "open for add", then right click "submit"
</p><p>
Cool it should work.  Now let's get xcode to play nicely..
</p><p>
<strong>Step 2 - Create a XCode project for python</strong>
</p><p>
This is very basic - fire up XCode ( get it from <a href="http://developer.apple.com/tools/download/">here</a> ) and create a new empty project.  
</p><ul>
<li> The type is an Empty Project</li>
<li> Give is a &lt;project name&gt;</li>
<li> The directory needs to be &lt;base directory&gt;/projects/&lt;project name&gt; ( ~/depot/projects/PythonTest1 )</li>
</ul><p>
And that's it.  Now let's add SCM - version control..
</p><p>
<strong>Step 3 - Getting Perforce to play nicely.</strong>
</p><p>
One of the things I despise is when documentation points you to a particular place and no amount of searching seems to dig up the answer.  So you dig and dig and finally piece together the appropriate answer.  Such is the documentation for getting XCode to play with Perforce.  Assuming you're an XCode junkie the docs are straightforward enough.  For this part time player - I was unnerved by the following statement that was stated in the <a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/Xcode_SCM/ProjectSetup/ProjectSetup.html">docs</a> under the section of Perforce.
</p><p style="text-indent:20pt;">
<span style="color:#7f007f;"><em>"Open the project in Xcode and set the SCM system to Perforce. See Xcode Help for details."</em></span><em>
<br /></em>
</p><p>
So what the hell does this mean?  Perhaps preferences? No.  Perhaps it's per project - don't know.  Time for google (like life in general) - After a big of digging I find out.  I need to see an inspector..   This can be found by either right clicking under the top most group and saying get info or under File-&gt;Show Inspector.
</p><p style="text-indent:20pt;">
Once this is up all you need to do is under the General Tab at the bottom enable SCM. and edit the appropriate options.
</p><ul>
<li> perforce tool path (/usr/local/bin/p4)</li>
<li> P4PORT ( hostname:port )</li>
<li> P4CLIENT ( from above - I called my steven )</li>
<li> Username and Password ( from above )</li>
</ul><p>
At this point you should have a perforce enabled environment.  
</p>]]>
    </content>
  </entry>
  <entry>
    <title>Setting up SCM - Welcome Perforce...</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000024.html" />
    <modified>2005-02-25T22:00:40Z</modified>
    <issued>2005-02-25T22:00:40+00:00</issued>
    <id>tag:www.pointcircle.com,2005:/blog//1.24</id>
    <created>2005-02-25T22:00:40Z</created>
    <summary type="text/plain"> OK I admit it - I HATE CVS. It is a kludgy mess and anyone that has used it. I like the comment from this article which states &quot;CVS was designed by hamsters on crystal meth.&quot; Well if your...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Linux / Mac OSX / Solaris</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p style="text-indent:20pt;">
OK I admit it - I HATE CVS.  It is a kludgy mess and anyone that has used it.  I like the comment from this <a href="http://www.tgr.com/weblog/archives/000010.html">article</a> which states
</p><p style="text-align:center;">
<span style="color:#ff060f;"><em>"CVS was designed by hamsters on crystal meth."</em></span><em>
<br /></em>
</p><p>
Well if your a sole hacker and want something to use personally that's FREE - use perforce it'll save you time and energy.  And you won't have UGLY CVS files all over the place - Yuck.
</p><p>
I will install this the sysadmin way - and allow ssh tunneling to occur so I can limit who has access to my repository
</p>]]>
      <![CDATA[<p>
For the purposes of this I am going to make the following assumptions..
</p><p>
1.)  You develop something that you would like to have version control over.  That something is represented by 1's and 0's and can be seen on a computer screen.
<br />2.)  You have access to a Linux Machine.  (Not necessary but for this install yes it is - and NO I won't help you on your windows box )
<br />3.) You have a connection to the internet.
<br />4.)  You have some brains - they help :)
</p><p>
Ok, that's outa the way.  Check out the following links.
</p><ul>
<li> <a href="http://www.perforce.com/perforce/doc.042/manuals/boilerplates/quickstart.html">Perforce Quick Start for New Users</a></li>
<li> <a href="http://www.perforce.com/perforce/doc.042/manuals/p4guide/">Perforce User's Guide</a></li>
</ul><p>
So go get <a href="http://www.perforce.com/perforce/loadprog.html">perforce</a>.  Pull p4 p4d (if you want p4v too)
</p><p>
Install it by doing the following:
<br /><span style="font-family:monospace;"># cp p4 /usr/local/bin/
<br /># chmod 755 /usr/local/bin/p4
<br /># cp p4d /usr/local/bin/</span>
</p><p>
So that was easy - now let's get a perforce user and group defined..
<br /><span style="font-family:monospace;"># groupadd -g 500 perforce
<br /># adduser -u 500 -g perforce -d /home/depot -s /bin/false perforce</span>
</p><p>
Now let's put this in the local start up scripts as a daemon..
</p><p>
<span style="font-family:monospace;">start-stop-daemon --start --quiet --chuid perforce:perforce \
<br />--exec /usr/sbin/p4d \
<br />-- -q -L /var/log/perforce \
<br />-J /mnt/local/perforce/journal \
<br />-p 1667 -d -r /home/depot
<br /></span>
<br />Ok then kick it over..  See her start up --  voila!
</p><p>
Now using p4v attempt to connect to localhost:1666  If you can your in business!!
</p><p>
Now let's get some authentication going..  First things first - p4 protect to set up basic protections
</p><p>
<span style="font-family:monospace;"># p4 protect</span>
</p><p>
Modify it so only user foo can write to my repository..
<br /><span style="font-family:monospace;">
<br />Protections:
<br />write user foo * //...
<br />super user root * //...
<br /></span>
<br />And save the file.  This gives superuser access (root) and foo has (write) access.  Now let's limit how we gain access from outside of our network..
</p><p>
Creating an ssh port forwarder..   On our client run the following:
<br /><span style="font-family:monospace;">ssh &lt;linux-box&gt;  -L 1666:localhost:1667</span>
</p><p>
This sets up a secure tunnel to the remote 1667 port using my local 1666 port.  Way cool.  Now I can connect to it anytime I want to from outside my network.
</p><p>
Now what makes it easier is to add the following to your ~/.ssh/config file
</p><p>
<span style="font-family:monospace;">Host tunnel
<br />User &lt;user-name&gt;
<br />Hostname &lt;linux-box&gt;
<br />LocalForward 1666 localhost:1667
<br />GatewayPorts no</span>
</p><p>
Now in the future all I have to do type ssh tunnel and the tunnel is created!!  Once this is created now you simply connect to the localhost port 1666 and it magically and securely heads over to the the linux box!  Way cool!
</p><p>
Or if you run a mac pull this cool little <a href="http://projects.tynsoe.org/en/stm/">app</a>!
</p><p>
OK enough for today.
</p>]]>
    </content>
  </entry>
  <entry>
    <title>Quick hint - Enable READLINE for python on OSX</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000023.html" />
    <modified>2005-02-18T23:39:21Z</modified>
    <issued>2005-02-18T23:39:21+00:00</issued>
    <id>tag:www.pointcircle.com,2005:/blog//1.23</id>
    <created>2005-02-18T23:39:21Z</created>
    <summary type="text/plain"> This is simple enough but damn it took me awhile to figure it out. Get readline and install the .so into the python tree.. wget http://www.pycs.net/bbum/2004/1/21/readline.so.gz gunzip readline.so.gz sudo mv readline.so /Library/Python/2.3 Get readline and install the .so into...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Code / Scripts</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
This is simple enough but damn it took me awhile to figure it out.
<br />Get readline and install the .so into the python tree..
</p><p>
<span style="font-family:monospace;">wget http://www.pycs.net/bbum/2004/1/21/readline.so.gz
<br />gunzip readline.so.gz 
<br />sudo mv readline.so /Library/Python/2.3
<br />
<br /></span>
</p><p>
Get readline and install the .so into the python tree..
</p><p>
<strong>Time to Start</strong> from the album "The Complex" by <a href="http://www.google.com/search?q=%22Blue%20Man%20Group%22">Blue Man Group</a>
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Getting DJBDNS to set-up</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000022.html" />
    <modified>2004-12-27T17:14:20Z</modified>
    <issued>2004-12-27T17:14:20+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.22</id>
    <created>2004-12-27T17:14:20Z</created>
    <summary type="text/plain"> HI all, Ok I have a slightly different DNS setup. I want to query a specific host for DNS resolution but do the &quot;normal&quot; thing for everything else. Additionally I want to be a local domain server for my...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Linux / Mac OSX / Solaris</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
HI all,
</p><p>
Ok I have a slightly different DNS setup.  I want to query a specific host for DNS resolution but do the "normal" thing for everything else.  Additionally I want to be a local domain server for my home intranet.  Oh and if that wasn't enough of a challenge, I want the intranet domain to be .local and I'm running macs.  (If you don't know this, mac's don't like to resolve the .local domain it's local... ) Here is how you go about it  
</p>]]>
      <![CDATA[<p style="text-indent:20pt;">
Out strategy is to use <a href="http://cr.yp.to/djbdns.html">dbjdns</a> to set-up a local DNS cache for all of our internal servers. That will then allow all querying to for all domains.  Then we will deal with resolving the company domains.  Lastly we will tackle the .local domain and DNS resolution there.  As a side note most of this information is up on Dan Bernstein ( the author of dbjdns ) <a href="http://cr.yp.to/djb.html">website</a>.   Unfortunately he is a great ( one of the best out there ) programmer, but his documentation has always been (at least for me) very difficult to follow.  Not that mine is any better, it isn't.  This was put here for me and anyone else to gleam some useful knowledge from
</p><p>
( I assume that you have already obtained <a href="http://cr.yp.to/djbdns.html">djbdns</a> and followed the <a href="http://cr.yp.to/djbdns/install.html">instructions</a> to get it installed ) 
</p><p>
Note:  Keep in mind that if you want to run BOTH a cache and a DNS server you need two IP's..  Linux can easily do this with aliasing!
<br /> 
<br /><strong>Part 1 - Setting up a simple DNS cache
<br /></strong>
</p><p style="text-indent:20pt;">
This is the easy part and is well documented..  Follow these <a href="http://cr.yp.to/djbdns/run-cache-x.html">instructions</a>
</p><p style="text-indent:20pt;">
Don't forget when you get done - verify that resolv.conf points to the server and check it..
</p><p style="text-indent:40pt;">
dnsip www.cnn.com
</p><p>
<strong>Part 2 - Get your company intranet domains to be resolved by the company's intranet DNS Server</strong>
</p><p style="text-indent:20pt;">
I work for company foo and I happen to have a VPN connection to the site.  But I can't resolve any of foo's internal addresses because they aren't public.  So I want to defer my queries for foo.com to a different ( internal server )
<br />This is also documented but in a not-so-easy <a href="http://cr.yp.to/djbdns/dot-local.html">place</a>.  You must know the internal DNS server(s) of the company foo.  So using them..
</p><p style="text-indent:40pt;font-family:monospace;font-size:13pt;">
cd /service/dnscache
</p><p style="font-family:monospace;font-size:13pt;">
     echo &lt;DNS SERVER&gt; &gt; root/servers/foo.com
<br />     echo &lt;DNS SERVER2&gt; &gt;&gt; root/servers/foo.com
<br />     chmod 644 root/servers/foo.com
<br />     svc -t .
</p><p style="text-indent:20pt;">
Don't forget when you get done - verify we can get an IP for an internal name
</p><p style="text-indent:40pt;">
dnsip hostname.foo.com
</p><p style="text-indent:40pt;">

</p><p>
<strong>Part 3 - Getting .local to be resolved..</strong>
</p><p style="text-indent:20pt;">
We have two problems to solve.  First we want to build a local dns server to resolve the .local domain.  This will allow you to type ping machine-name as opposed to ping ip-address.  This is useful and handy.  The second problem is that Mac OS doesn't like to have other machines answer to the .local domain.  In their eyes that is a reserved name..  Kinda stupid but we'll fix that.
</p><p>
Get the tinydns server up and working.  Follow the instructions <a href="http://cr.yp.to/djbdns/run-server.html">here</a>..  Use the instructions all the way until  you've checked the addresses of your computers.  Since we are only publishing internally, we don't care about the rest..  So we will follow the same instructions as above ..
</p><p style="text-indent:40pt;font-family:monospace;font-size:13pt;">
cd /service/dnscache
</p><p>
<span style="font-family:monospace;font-size:13pt;">     echo &lt;DNS SERVER&gt; &gt; root/servers/local
<br />     chmod 644 root/servers/foo.com
<br />     svc -t .
<br /></span>
</p><p style="text-indent:20pt;">
Don't forget when you get done - verify we can get an IP for an internal local name
</p><p style="text-indent:40pt;">
dnsip &lt;host&gt;.local
</p><p>
Now we need to have the mac actually search .local for DNS queries..  Mac treats .local only as Rendezvous hosts.  So no DNS queries ever happen with .local domains.  This can be fixed by following the instructions <a href="http://docs.info.apple.com/article.html?artnum=107800">here</a>
</p><p style="text-indent:20pt;">
Don't forget to test it on the mac!!
</p><p style="text-indent:20pt;">
OK were done now..
</p>]]>
    </content>
  </entry>
  <entry>
    <title>SSH - ssh_login - Enter a password once please..</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000021.html" />
    <modified>2004-11-28T20:28:32Z</modified>
    <issued>2004-11-28T20:28:32+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.21</id>
    <created>2004-11-28T20:28:32Z</created>
    <summary type="text/plain"> I do a lot of pushing files around. I rely on ssh passwordless authentication for 99% of all of my activites like rsync, CVS, and of course scp. I wanted a way to be able to quickly ensure that...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Code / Scripts</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
I do a lot of pushing files around.  I rely on ssh passwordless authentication for 99% of all of my activites like rsync, CVS, and of course scp.  I wanted a way to be able to quickly ensure that I had a passwordless connection first before I fired off 30 rsyncs.  So I wrote this little shell function..
</p>]]>
      <![CDATA[<p>
Here it is: <a href="http://www.pointcircle.com/blog/images/ssh_login">ssh_login</a>
</p><p>
<span style="font-family:monospace;">function ssh_login () {
<br /># This function will get a passwordless authentication session setup for you.
<br /># It is a resuble function in that you can use it at the top of any script
<br /># prior to any ssh'ing to ensure you can do it passwordless.  The goal was to
<br /># simply have the user enter his password once.
<br />if [ ! $1 ] ; then
<br /> print "Dork, I need an destination argument"
<br /> return 255 
<br />else
<br /> if [ ! -e ~/.ssh/id_rsa -o ! -e ~/.ssh/id_rsa.pub ] ; then
<br />   print "Dork, You need to make your keys.."
<br />   print "ssh-keygen -t rsa -b 1024 -f ~/.ssh/id_rsa -C \"My comment\""
<br />   return 254
<br /> fi
<br /> #  print "Running with comments" 
<br /> ssh -o RSAAuthentication=yes -o PasswordAuthentication=no \
<br />   -o kbdinteractiveauthentication=no -o challengeresponseauthentication=no \
<br />   -o StrictHostKeyChecking=no -o CheckHostIP=no $1 date 2&gt;&#38;1 &gt; /dev/null
<br /> if [ $? -ne 0 ] ; then
<br />   # So we can't get there - let's fix the problem.. 
<br />   #  print "Unable to use pawwordless authentication - pushing key now" 
<br />   cat ${HOME}/.ssh/id_rsa.pub | ssh $1 \
<br />     'if [ ! -d ~/.ssh ] ; then 
<br />       mkdir ~/.ssh/ 
<br />     fi
<br />     chmod 700 ~/.ssh
<br />     touch ~/.ssh/authorized_keys
<br />     chmod 600 ~/.ssh/authorized_keys
<br />     cat &gt;&gt; ~/.ssh/authorized_keys'
<br />
<br />   if [ $? -ne 0 ] ; then 
<br />       print "Fatal error - must do this manually.."
<br />       return 1
<br />   else 
<br />     #  print "Pushed key successfull - testing function" 
<br />     $0 $1 $2
<br />   fi
<br /> else
<br />   # We are good to go.. 
<br />   #  print "Success" 
<br />   return 0
<br /> fi
<br />fi
<br />}</span>
</p><p>
So now if I have another function or script that does something like..
</p><p>
<span style="font-family:monospace;">function push_dotfiles(){
<br />rsync -avz --recursive -e ssh ~/.profile         $1:~/ 
<br />rsync -avz --recursive -e ssh ~/.zshenv          $1:~/
<br />rsync -avz --recursive -e ssh ~/.zshrc           $1:~/
<br />.
<br />.
<br />.
<br />rsync -avz --recursive -e ssh ~/.cds/            $1:~/.cds/
<br />}</span>
</p><p>
I would modify it so it does this first..
</p><p>
<span style="font-family:monospace;">function push_dotfiles(){
<br />ssh_login $1
<br />rsync -avz --recursive -e ssh ~/.profile         $1:~/ 
<br />rsync -avz --recursive -e ssh ~/.zshenv          $1:~/
<br />rsync -avz --recursive -e ssh ~/.zshrc           $1:~/
<br />.
<br />.
<br />.
<br />rsync -avz --recursive -e ssh ~/.cds/            $1:~/.cds/
<br />}</span>
</p><p>
Have fun!!
</p>]]>
    </content>
  </entry>
  <entry>
    <title>A few of my favorite Mathematica hints</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000020.html" />
    <modified>2004-11-26T22:45:10Z</modified>
    <issued>2004-11-26T22:45:10+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.20</id>
    <created>2004-11-26T22:45:10Z</created>
    <summary type="text/plain"><![CDATA[ Ok here is just a random place to put my favorite most used mathematica hints.. Clear all variables.. CleanSlate[] Substitute (x+y)(x-y)^2 /. {x-&gt;3, y-&gt;1-a} Defining a functions.. f[x_]:x^2 f[2] I really need a place to put these things.....]]></summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Code / Scripts</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
Ok here is just a random place to put my favorite most used mathematica hints..
</p><p>
Clear all variables..
<br /><span style="font-family:monospace;">CleanSlate[]</span>
</p><p>
Substitute 
</p><p>
<span style="font-family:monospace;">(x+y)(x-y)^2 /. {x-&gt;3, y-&gt;1-a}</span>
</p><p>
Defining a functions..
<br /><span style="font-family:monospace;">f[x_]:x^2
<br />f[2]
<br />
<br /></span>I really need a place to put these things..
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Defining Sent, Drafts, and Junk folders in Mail.app</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000019.html" />
    <modified>2004-11-05T20:10:16Z</modified>
    <issued>2004-11-05T20:10:16+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.19</id>
    <created>2004-11-05T20:10:16Z</created>
    <summary type="text/plain"> Here I thought I had a problem with the configuration of my new email server. No I simply didn&apos;t have Mail.app configured correctly. You can define any mailbox to be one of the special ones ( Drafts, Sent, Outbox,...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Linux / Mac OSX / Solaris</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
Here I thought I had a problem with the configuration of my new <a href="http://www.courier-mta.org/imap/">email server. </a>No I simply didn't have Mail.app configured correctly.  You can define any mailbox to be one of the special ones ( Drafts, Sent, Outbox, Junk ) by simply selecting the Mailbox you wish to use ( example drafts ) in the Mailbox list, then go to <em>Mailbox</em> menu -&gt; <em>Use selected Mailbox for -&gt; Drafts</em>.
</p><p>
Pretty simple but it took me 30 minutes to find this one..
</p><p>
Thanks to Jason Cowart for this <a href="http://www.macintouch.com/mail.app01.html">one</a>.
</p><p>
<strong>Mummers Dance</strong> from the album "The Book of Secrets" by <a href="http://www.google.com/search?q=Loreena+McKennitt+Amazon">Loreena McKennitt</a>
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Blogging inside the corporate institutions</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000017.html" />
    <modified>2004-11-05T05:57:32Z</modified>
    <issued>2004-11-05T05:57:32+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.17</id>
    <created>2004-11-05T05:57:32Z</created>
    <summary type="text/plain"> So the corporate culture has started warming to the idea of blogging. I was asked to join a beta group of bloggers inside of the place I receive my paycheck from. I don&apos;t know if I like the idea,...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
So the corporate culture has started warming to the idea of blogging.  I was asked to join a beta group of bloggers inside of the place I receive my paycheck from. I don't know if I like the idea, but I am willing to participate...
</p>]]>
      <![CDATA[<p>
     It seems to me that blogging by definition is free.  It's <em>my thoughts not shadowed by anything other than my own self conscience</em>.  I don't know if idea of putting a blog into a corporation as a knowledge sharing and dissemination system will work.  Because now my thoughts <em>are</em> shadowed.  I must wear a politically correct hat when I post to the company to ensure that I do not offend anyone.  Not that my stuff typically offends people - I hope it doesn't but I really don't put any emphasis on it either.  Now I must.
</p><p>
     It appears on the surface like a good idea, and sticking to techie stuff should remain pretty harmless.  But now simply saying product xyz sucks ass won't fly either.  Now I will be required to substantiate it a bit more.  Ok fine, that will help me articulate my thoughts more clearly anyway.
</p><p>
     So I'm in - I just hope the system they put in place gives me the freedom to modify and change it so works the way I want it to work.
</p><p>
<strong>Redemption  (featuring Chemda)</strong> from the album "Conjure One" by <a href="http://www.google.com/search?q=Conjure+One+Amazon">Conjure One</a>
</p>]]>
    </content>
  </entry>
  <entry>
    <title>Pond Heaters..</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000016.html" />
    <modified>2004-11-04T20:05:57Z</modified>
    <issued>2004-11-04T20:05:57+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.16</id>
    <created>2004-11-04T20:05:57Z</created>
    <summary type="text/plain"> As Arizona&apos;s winter ( heh heh heh ) starts chilling us down, Karen want&apos;s me to start looking at pond heaters for the winter time. They are a bit expensive.. So here is what I found.....</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
As Arizona's winter ( heh heh heh ) starts chilling us down, Karen want's me to start looking at pond heaters for the winter time.  They are a bit expensive.. 
</p><p>
<a href="http://www.pointcircle.com/blog/images/P9300066.JPG" onclick="window.open('http://www.pointcircle.com/blog/images/P9300066.JPG','popup','width=2560,height=1920,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://www.pointcircle.com/blog/images/P9300066-tm.jpg" height="100" width="133" border="1" hspace="4" vspace="4" alt="Willy and the Turlte" title="Willy and the Turlte" /></a>
</p><p>
So here is what I found..
</p>]]>
      <![CDATA[<p>
There are several manufactures of these things..
</p><p>
- <a href="http://www.aquaticeco.com/index.cfm/fuseaction/product.detail/iid/9100/cid/2191">Hayward</a> makes one.  They are the pool people - but this should work
<br />- <a href="http://www.aquaticeco.com/index.cfm/fuseaction/product.detail/iid/9086/cid/2230">Unknown Brand</a>  but would fit better with existing piping.
</p><p>
The <a href="http://www.google.com/search?hl=en&#38;lr=&#38;safe=off&#38;q=Pond+Heaters+Inline&#38;btnG=Search">Google</a> search that turned these up!
</p><p>
<em>
<br /></em>
</p><p>
<em>
<br /></em><strong><em>Brandenburg Concerto no 5 in D major, BWV 1050 - Allegro</em></strong><em> from the album "Bach: The Brandenburg Concertos Nos 4, 5 &#38; 6 / Marriner" by </em><em><a href="http://www.google.com/search?q=%2522Academy%20of%20St.%20Martin-in-the-Fields%20/%20Neville%20Marriner%2522">Academy of St. Martin-in-the-Fields / Neville Marriner</a></em><em>
<br /></em>
</p>]]>
    </content>
  </entry>
  <entry>
    <title>Perhaps the best place to get RSS feeds - should I say worthwhile feeds..</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000015.html" />
    <modified>2004-11-03T21:28:37Z</modified>
    <issued>2004-11-03T21:28:37+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.15</id>
    <created>2004-11-03T21:28:37Z</created>
    <summary type="text/plain"> So I was trolling this morning, and I came across this page that shows some of the most worthwhile RSS feeds out there. Using NetNewsWire to look at RSS is such a nice way to get headlines without any...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Technology</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
So I was trolling this morning, and I came across this <a href="http://www.geeklog.net/staticpages/index.php?page=20030206094434245">page</a> that shows some of the most worthwhile RSS feeds out there.  Using <a href="http://ranchero.com/netnewswire/">NetNewsWire</a> to look at RSS is such a nice way to get headlines without any of the crap advertising.  
</p><p>
<strong>Hole in the Head</strong> from the album "Hole in the Head - EP" by <a href="http://www.google.com/search?q=Sugababes+Amazon">Sugababes</a>
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Hey updated with SCode</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000014.html" />
    <modified>2004-11-03T04:24:35Z</modified>
    <issued>2004-11-03T04:24:35+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.14</id>
    <created>2004-11-03T04:24:35Z</created>
    <summary type="text/plain"> In an attempt to remove the spammers from commenting my blog, I&apos;ve added the need for you to be (semi-) human. A generated image will now appear before you can be allowed to post. This is some really cool...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    <dc:subject>Code / Scripts</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p>
In an attempt to remove the spammers from commenting my blog, I've added the need for you to be (semi-) human.  A generated image will now appear before you can be allowed to post.
</p><p>
This is some really cool technology - although it's simple and has been around for years.  It's pretty tough to break - Unless of course you're a looser and manually post spam to blogs..
</p><p>
Oh yeah - You can get SCode <a href="http://james.seng.cc/comment/reply/219">here</a>
</p><p>
<strong>Sweet Lullaby [ Apollo Mix ]</strong> from the album "World Mix" by <a href="http://www.google.com/search?q=Deep+Forrest">Deep Forest</a>
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>My attempts with ecto 2.0</title>
    <link rel="alternate" type="text/html" href="http://www.pointcircle.com/blog/archives/000012.html" />
    <modified>2004-11-02T17:05:03Z</modified>
    <issued>2004-11-02T17:05:03+00:00</issued>
    <id>tag:www.pointcircle.com,2004:/blog//1.12</id>
    <created>2004-11-02T17:05:03Z</created>
    <summary type="text/plain"> See this is the way it should be!!...</summary>
    <author>
      <name>Steven</name>
      <url>http://www.pointcircle.com</url>
      <email>sklass@pointcircle.com</email>
    </author>
    
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.pointcircle.com/blog/">
      <![CDATA[<p style="text-indent:20pt;">
See this is the way it should be!!
</p>]]>
      
    </content>
  </entry>

</feed>