<?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>Skytop Integration</title>
	<atom:link href="http://www.skytopintegration.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.skytopintegration.com</link>
	<description>Things look better from the top!</description>
	<lastBuildDate>Wed, 09 Dec 2009 23:58:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>wow, chrome!</title>
		<link>http://www.skytopintegration.com/2009/12/09/wow-chrome/</link>
		<comments>http://www.skytopintegration.com/2009/12/09/wow-chrome/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 23:58:48 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=81</guid>
		<description><![CDATA[well, I just switched my default browser on the Mac to Chrome from Firefox.  About the only thing that I was waiting for was Firebug, and it&#8217;s not needed &#8212; there are developer tools built right into Chrome.
I&#8217;m very impressed.
]]></description>
			<content:encoded><![CDATA[<p>well, I just switched my default browser on the Mac to Chrome from Firefox.  About the only thing that I was waiting for was Firebug, and it&#8217;s not needed &#8212; there are developer tools built right into Chrome.</p>
<p>I&#8217;m very impressed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/12/09/wow-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>__del__ and python classes</title>
		<link>http://www.skytopintegration.com/2009/12/03/__del__-and-python-classes/</link>
		<comments>http://www.skytopintegration.com/2009/12/03/__del__-and-python-classes/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 15:37:32 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=77</guid>
		<description><![CDATA[How could I write Python for 12 years without knowing this?
Objects that have __del__() methods and are part of a reference cycle cause the entire reference cycle to be uncollectable, including objects not necessarily in the cycle but reachable only from it.
Well, I guess that never having __del__ work the way I thought it did [...]]]></description>
			<content:encoded><![CDATA[<p>How could I write Python for 12 years without knowing this?</p>
<blockquote><p>Objects that have <a title="object.__del__" href="http://docs.python.org/reference/datamodel.html#object.__del__"><tt><span>__del__()</span></tt></a> methods and are part of a reference cycle cause the entire reference cycle to be uncollectable, including objects not necessarily in the cycle but reachable only from it.</p></blockquote>
<p>Well, I guess that never having __del__ work the way I thought it did has saved me from many nasty memory leaks.  And learning about this has solved another one.  I guess there&#8217;s always something new to learn.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/12/03/__del__-and-python-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft (finally)</title>
		<link>http://www.skytopintegration.com/2009/09/10/microsoft-finally/</link>
		<comments>http://www.skytopintegration.com/2009/09/10/microsoft-finally/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 01:33:09 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=63</guid>
		<description><![CDATA[Well, I&#8217;m finally learning the MS stack, so I can add that to the Python/LAMP stuff that I&#8217;ve been doing for so long.  I&#8217;m certainly more clear on what the general .NET architecture is (and where Mono fits as well).  C# is mostly nice, if you can get past the static typing.  Typing &#8220;Foo foo [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;m finally learning the MS stack, so I can add that to the Python/LAMP stuff that I&#8217;ve been doing for so long.  I&#8217;m certainly more clear on what the general .NET architecture is (and where Mono fits as well).  C# is mostly nice, if you can get past the static typing.  Typing &#8220;Foo foo = new Foo()&#8221; gets old, and the patterns for declaring and allocating arrays just will not stick in my brain.</p>
<p>Either I&#8217;m missing something really basic, or the interface from C# to ASP.NET is just silly.  I can&#8217;t figure out an easy way to allow a designer to create pages in HTML/CSS/JS and then tie them in with your C# code.  C# to the database is also still odd, LINQ is a mess.  I&#8217;m glad that there is a port of Hibernate to use as an ORM and the Castle ActiveRecord libraries to limit the number of &#8220;XML sit-ups&#8221; that I have to do.  (Although I&#8217;ve only been able to make ActiveRecord talk to MS SQL, and not MySQL, which is not encouraging.)  I&#8217;m really quite shocked that there is no JSON support in the core libraries.</p>
<p>I&#8217;ve had good luck working with SharpDevelop as an Open Source tool for developing Windows-based (aka Winforms) applications.  Sadly, SharpDevelop does not work when developing ASP.NET web-based applications, and it looks like that is not even on the horizon.   The free  MS &#8220;Express&#8221; editors are not bad, even though the MS IntelliSense always seems to pick the wrong thing for me.   I can&#8217;t quite figure out why one would buy Visual Studio when the Express versions are there.  I&#8217;m sure I will find out someday.  In any case, the projects seem to be so hopelessly intertwined that you can&#8217;t really develop without an IDE.  I&#8217;m also trying to figure out how you develop in teams with these toolkits &#8212; I can&#8217;t figure out what should go into source control and what should be local.   I do have unreserved kudos for the &#8220;build a distribution package&#8221; for Winforms applications.</p>
<p>So anyway, I&#8217;ve got my C# application talking JSON to a Django web service, then pulling data and populating an ASP.NET page and an MS-SQL database.  If nothing else, this app is buzzword-compliant!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/09/10/microsoft-finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sum(distinct)?</title>
		<link>http://www.skytopintegration.com/2009/05/19/sumdistinct/</link>
		<comments>http://www.skytopintegration.com/2009/05/19/sumdistinct/#comments</comments>
		<pubDate>Tue, 19 May 2009 14:13:18 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=60</guid>
		<description><![CDATA[Wow ,  I learned something new about SQL today.  Apparently, you can now use the &#8220;distinct&#8221; keyword inside sum().  Like this;
mysql&#62; create table foo (a int);
Query OK, 0 rows affected (0.05 sec)

mysql&#62; insert into foo (a) values (1);
Query OK, 1 row affected (0.11 sec)

mysql&#62; insert into foo (a) values (1);
Query OK, 1 row affected (0.02 [...]]]></description>
			<content:encoded><![CDATA[<p>Wow ,  I learned something new about SQL today.  Apparently, you can now use the &#8220;distinct&#8221; keyword inside sum().  Like this;</p>
<pre>mysql&gt; create table foo (a int);</pre>
<pre>Query OK, 0 rows affected (0.05 sec)</pre>
<pre>
mysql&gt; insert into foo (a) values (1);</pre>
<pre>Query OK, 1 row affected (0.11 sec)</pre>
<pre>
mysql&gt; insert into foo (a) values (1);</pre>
<pre>Query OK, 1 row affected (0.02 sec)</pre>
<pre>
mysql&gt; select sum(distinct a)</pre>
<pre>    -&gt; from foo;</pre>
<pre>+-----------------+</pre>
<pre>| sum(distinct a) |</pre>
<pre>+-----------------+</pre>
<pre>|               1 |</pre>
<pre>+-----------------+</pre>
<pre>1 row in set (0.02 sec)</pre>
<p>I&#8217;m not sure how this is useful, but it&#8217;s interesting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/05/19/sumdistinct/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hints for recruiters</title>
		<link>http://www.skytopintegration.com/2009/04/30/hints-for-recruiters/</link>
		<comments>http://www.skytopintegration.com/2009/04/30/hints-for-recruiters/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 23:19:23 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[recruiters]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=57</guid>
		<description><![CDATA[I&#8217;ve just lined up another client (who may become a full-time employer) after a four-month &#8220;unscheduled vacation.&#8221;  I&#8217;m very happy to be working (and earning!) again.  During my time off, I dealt with a lot of recruiters.  Most were reasonable.  Some were great.  A few were jerks.
Feedback: this is the most important thing I need [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just lined up another client (who may become a full-time employer) after a four-month &#8220;unscheduled vacation.&#8221;  I&#8217;m very happy to be working (and earning!) again.  During my time off, I dealt with a lot of recruiters.  Most were reasonable.  Some were great.  A few were jerks.</p>
<p><em>Feedback:</em> this is the most important thing I need from recruiters.  Look at my resume.  Make some constructive comments, so that it improves, and so that I know you&#8217;ve read it.  (I swear, I&#8217;m going to put together a resume with a line buried in there saying &#8220;Hiring manager, this recruiter did not read this resume.  You&#8217;re not getting value for your dollar.&#8221;)</p>
<p><em>Don&#8217;t make me call you.</em> This really angers me.  When I take time off, get dressed up, travel to an interview and spend time with a hiring manager, then I have to call you to find out how it went.  I know I&#8217;m not going to get every job &#8212; but don&#8217;t leave me hanging, wondering what&#8217;s going on .</p>
<p><em>Do your own work.</em> There seems to be a pattern developing where a hiring manager gives a req to Recruiter A, who then farms it out to Recruiters B and C, who in turn send it to Recruiters D, E, F and G.  Then I see the same job posted on every hiring board (nobody checks the individual job boards &#8212; we all use aggregators, like Indeed).  And then when I pick a lucky winner to talk to, there are three recruiters that all want to get paid, which makes me too expensive for the customer, and everyone loses.</p>
<p><em>An occasional call works wonders.</em> Of all the recruiters I worked with, I had exactly one that ever called me just to &#8220;touch base.&#8221;  I like this guy.  I will be calling him the next time  I need work.  Or just to &#8220;touch base.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/04/30/hints-for-recruiters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>django content management systems</title>
		<link>http://www.skytopintegration.com/2009/04/20/django-content-management-systems/</link>
		<comments>http://www.skytopintegration.com/2009/04/20/django-content-management-systems/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 17:52:32 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=55</guid>
		<description><![CDATA[Today&#8217;s effort is to see if there is an open-source CMS for Django.  (I know that the Django authors have Ellington, but that&#8217;s a for-pay one, and I&#8217;m trying to bootstrap a business here.)
So I find a &#8220;checkbox matrix&#8221; at http://code.djangoproject.com/wiki/CMSAppsComparison, and while that&#8217;s a crappy way of picking software, and it may be out-of-date, [...]]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s effort is to see if there is an open-source CMS for Django.  (I know that the Django authors have Ellington, but that&#8217;s a for-pay one, and I&#8217;m trying to bootstrap a business here.)</p>
<p>So I find a &#8220;checkbox matrix&#8221; at <a href="http://code.djangoproject.com/wiki/CMSAppsComparison">http://code.djangoproject.com/wiki/CMSAppsComparison</a>, and while that&#8217;s a crappy way of picking software, and it may be out-of-date, I&#8217;ll start there and try a few.</p>
<p><a href="http://www.pylucid.org/">PyLucid</a> installs fine.  But once I get it installed, I can&#8217;t figure out what to do with it.  I can&#8217;t figure out how to even add a new page to the system.  The authors say that &#8220;writing documentation is not as much fun as writing code&#8221;, which is true, but a very bad sign.  I&#8217;ll try to post a question in their forum, as of now, I&#8217;m waiting to be approved to use the forum.</p>
<p><a href="http://django-cms.org/">DjangoCMS</a> installs pretty easy, and it appears that you get a really basic web page out of it (which you then use CSS to style, I suppose), but I realize that my target audience is really going to want in-place editing &#8212; I can&#8217;t confuse them with an admin interface and a public interface.</p>
<p>So I&#8217;ll try <a href="http://code.google.com/p/django-page-cms/">django-page-cms</a>, which seems to have the most recent active development and commentary in the forum.  But this is very alpha software&#8230;I have to start installing package dependencies from subversion repositories, and things are just not working.  I have posted a question in their forum, will see if I get any response.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/04/20/django-content-management-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>using jQuery for an autocomplete field</title>
		<link>http://www.skytopintegration.com/2009/04/15/using-jquery-for-an-autocomplete-field/</link>
		<comments>http://www.skytopintegration.com/2009/04/15/using-jquery-for-an-autocomplete-field/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 19:19:50 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=47</guid>
		<description><![CDATA[ ]]></description>
			<content:encoded><![CDATA[<p>I had trouble figuring this out, so here it is&#8230;</p>
<ul>
<li>Download the &#8220;autocomplete&#8221; library from <a href="http://docs.jquery.com/Plugins/Autocomplete">http://docs.jquery.com/Plugins/Autocomplete</a> .  Unzip it and put the contents (js and css files) somewhere where your web server can serve them.</li>
<li>Create your HTML to look like this:</li>
</ul>
<pre>&lt;input type="text" class="ac_input" id="teams" /&gt;
  &lt;div class="ac_results" style="display: none; position: absolute; width: 150px; top: 23px; left: 93px;"&gt;
    &lt;ul style="overflow: auto; max-height: 180px;"&gt;
       &lt;li class="ac_even"&gt;&lt;/li&gt;
       &lt;li class="ac_odd"&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;</pre>
<ul>
<li>In the header of your page, put this (your URLs may differ, test them directly).  The first line pulls in the styles for the formatting.  The second pulls in the JavaScript for the autocomplete.  The script that is there (and should probably be in its own file) links the autocomplete code to your input field.:</li>
</ul>
<pre>  &lt;link rel="stylesheet" type="text/css" href="/site_media/jquery-autocomplete/jquery.autocomplete.css" media="screen"/&gt;
  &lt;script type="text/javascript" src="/site_media/jquery-autocomplete/jquery.autocomplete.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript"&gt;
    $(document).ready(function() {
      var url = "/hoops/team_names";
      $("#teams").autocomplete(url, { limit : 10 } );
    });
  &lt;/script&gt;</pre>
<ul>
<li>Now you have to create the code that will answer to /hoops/team_names/?q=[whatever is typed into the box]&amp;limit=10.  In my Django app server, it looks like this:</li>
</ul>
<pre>from django.http import HttpResponse
def team_names(request):
    try:
        limit = request.GET['limit']
    except:
        limit = 10

    name = request.GET['q'].title()
    teams = Team.objects.filter(name__startswith=name)[:limit]
    ret = "\n".join([team.name for team in teams])

    return HttpResponse(ret)</pre>
<p>Note that the responses are sent as a series of strings separated by newlines.  I tried and tried to send back JSON-formatted data, but I can&#8217;t make it work.  Oh well, this is &#8220;good enough&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/04/15/using-jquery-for-an-autocomplete-field/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.skytopintegration.com/2009/04/13/44/</link>
		<comments>http://www.skytopintegration.com/2009/04/13/44/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 11:57:39 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/2009/04/13/44/</guid>
		<description><![CDATA[Looks like I backed the unpopular horse with Pylons, so I&#8217;m building a personal site with Django.  Hmm, can I show it to the world?
]]></description>
			<content:encoded><![CDATA[<p>Looks like I backed the unpopular horse with Pylons, so I&#8217;m building a personal site with Django.  Hmm, can I show it to the world?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/04/13/44/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Article Published</title>
		<link>http://www.skytopintegration.com/2009/02/10/article-published/</link>
		<comments>http://www.skytopintegration.com/2009/02/10/article-published/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 18:20:19 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=40</guid>
		<description><![CDATA[Hey, I got an article published on the web.  Now I&#8217;m sure I&#8217;ll become famous!
]]></description>
			<content:encoded><![CDATA[<p>Hey, I got an <a href="http://wdvl.internet.com/Authoring/python/Encapsulation/encapsulation.html">article</a> published on the web.  Now I&#8217;m sure I&#8217;ll become famous!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/02/10/article-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the good news</title>
		<link>http://www.skytopintegration.com/2009/01/12/the-good-news/</link>
		<comments>http://www.skytopintegration.com/2009/01/12/the-good-news/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 13:27:30 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.skytopintegration.com/?p=35</guid>
		<description><![CDATA[Funny thing &#8212; if you look at the news, everything is doom-and-gloom.  Layoffs.  Rising unemployment.  Everyone looking for a handout, er, bailout.
But as I&#8217;m going around talking to people (not companies), I&#8217;m hearing nothing but optimism.  Folks are being careful, sure, but they&#8217;re also starting their own companies.  Some of their ideas are wacky, but [...]]]></description>
			<content:encoded><![CDATA[<p>Funny thing &#8212; if you look at the news, everything is doom-and-gloom.  Layoffs.  Rising unemployment.  Everyone looking for a handout, er, bailout.</p>
<p>But as I&#8217;m going around talking to <em>people</em> (not companies), I&#8217;m hearing nothing but optimism.  Folks are being careful, sure, but they&#8217;re also starting their own companies.  Some of their ideas are wacky, but a lot of them are really good.  I think a lot of people are seeing grand opportunities in today&#8217;s upheaval, and I&#8217;m with them.</p>
<p>The way I look at it, a 7% unemployment rate means a 93% employment rate.  People are still out there, buying pizzas, getting haircuts and downloading songs.  There&#8217;s got to be an opportunity in there somewhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skytopintegration.com/2009/01/12/the-good-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
