<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>The Basement Coders - Home</title>
  <id>tag:www.basementcoders.com,2009:mephisto/</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  <link href="http://www.basementcoders.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://www.basementcoders.com/" rel="alternate" type="text/html"/>
  <updated>2009-01-07T09:53:45Z</updated>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>marc</name>
    </author>
    <id>tag:www.basementcoders.com,2009-01-07:413</id>
    <published>2009-01-07T09:52:00Z</published>
    <updated>2009-01-07T09:53:45Z</updated>
    <link href="http://www.basementcoders.com/2009/1/7/moving-to-wordpress" rel="alternate" type="text/html"/>
    <title>Moving to wordpress</title>
<content type="html">
            &lt;p&gt;We&#8217;ll be moving this blog over to wordpress over the next day or so.&lt;/p&gt;


	&lt;p&gt;I&#8217;m not sure what that will do to our feed but I hope it all works out :)&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2009-01-06:411</id>
    <published>2009-01-06T19:23:00Z</published>
    <updated>2009-01-06T19:28:11Z</updated>
    <category term="off"/>
    <category term="topic"/>
    <link href="http://www.basementcoders.com/2009/1/6/best-buy-over-packing-ftl" rel="alternate" type="text/html"/>
    <title>Best Buy: Over Packing FTL!!!111one!!1</title>
<content type="html">
            &lt;p&gt;So Best Buy during their &#8220;Boxing Week&#8221; sale (for you yanks, think Black Friday) had a Rock Band microphone stand w/ &lt;span class=&quot;caps&quot;&gt;USB&lt;/span&gt; extension cord on for $9.99.  Now, the Best Buy is only a 10min drive from me so I really don&#8217;t mind going to pickup the item instead of having it shipped from somewhere in Ontario, waste of resources and time if you ask me.  &lt;br&gt;
&lt;br&gt;
The thing is, Best Buy doesn&#8217;t offer &#8220;in store pickup&#8221; during &#8220;Boxing Week&#8221; which by the way is officially just &lt;a href=&quot;http://en.wikipedia.org/wiki/Boxing_Day#Shopping&quot;&gt;Boxing Day&lt;/a&gt; but sometime in the last 6 years or so the big box stores extended it to an entire week.  They were offering $1.99 shipping so I got it shipped, I wasn&#8217;t in a rush for it anyway, I have to learn to guitar past medium before I can learn to sing and guitar at the same time anyway.&lt;br&gt;
&lt;br&gt;
This is what arrived, the blue thing in the bottom is the microphone stand.  The rest was filled with about 20 ft of packing paper (as seen to the left of the box).&lt;br&gt;
&lt;br&gt;
&amp;lt;center&gt;&lt;a href=&quot;/assets/2009/1/6/over-packaging.jpg&quot;&gt;&lt;img src=&quot;/assets/2009/1/6/over-packaging-framed.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&amp;lt;/center&gt;&lt;br&gt;
&lt;br&gt;
It reminds me of when you buy an SD flash card that is the size of a postage stamp but it is bundled in a plastic container the size of a small laptop!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>marc</name>
    </author>
    <id>tag:www.basementcoders.com,2008-11-27:216</id>
    <published>2008-11-27T21:38:00Z</published>
    <updated>2008-11-27T21:42:12Z</updated>
    <category term="Podcast"/>
    <link href="http://www.basementcoders.com/2008/11/27/episode-5-does-school-matter" rel="alternate" type="text/html"/>
    <title>Episode 5: Does school matter?</title>
<content type="html">
            &lt;p&gt;In episode 5, we have a biased discussion on whether or not having a computer science degree makes a difference.&lt;/p&gt;


	&lt;p&gt;Listen now: &amp;lt;object height=&quot;24&quot; width=&quot;290&quot;&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;/object&gt;&lt;br /&gt; or &lt;a href=&quot;http://media.basementcoders.com/basementcoders.com_ep05.mp3&quot;&gt;Download the mp3&lt;/a&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-11-06:201</id>
    <published>2008-11-06T14:12:00Z</published>
    <updated>2008-11-11T00:07:25Z</updated>
    <category term="dcsm"/>
    <category term="git"/>
    <category term="tips"/>
    <link href="http://www.basementcoders.com/2008/11/6/more-git-goodies" rel="alternate" type="text/html"/>
    <title>More git goodies</title>
<content type="html">
            &lt;p&gt;If you are in a subdirectory of your project and want to know where the .git directory lives above you:&lt;/p&gt;


&lt;pre&gt;
git rev-parse --git-dir
&lt;/pre&gt;

	&lt;p&gt;My coworker Guillermo Castro (aka the &lt;a href=&quot;http://www.javageek.org/&quot;&gt;JavaGeek&lt;/a&gt;) found this one by pure necessity.  He was told recently that a bunch of related changes which had been checked in over a series of separate commits needed to be merged into an emergency patch branch for production.  No problem he thought, &lt;code&gt;git cherry-pick&lt;/code&gt; to the rescue!  Not so fast.  For 90% of the cases, yes he could just cherry-pick an entire commit into the patch branch.  But there was that 10% of the cases where few files that were supposed to be part of the patch which were checked in to commits that contained changes to files which were not to be included in the branch.  Here is how he solved this problem:&lt;/p&gt;


* he knew that the files he was interested resided under two directories
* he knew the sha1 commit hash for the commit that contained changes to the files he was interested in (but also had commits to other files he wasn&#8217;t)
* he wanted only the changes to files under the two directories to be part of his commit.
&lt;pre&gt;
git log -1 -p &amp;lt;commit hash&amp;gt; &amp;lt;paths or file names&amp;gt;
&lt;/pre&gt;

	&lt;p&gt;The &#8220;-1&#8221; tells git to only prepare a patch file for the files under the paths specified based on the &lt;strong&gt;first&lt;/strong&gt; commit (which is the one you specified in the &amp;lt;commit&gt; param.&lt;/p&gt;


Along with the above, he also found a way to cherry-pick commits without actually committing them locally (i.e. just keep the changes staged)
&lt;pre&gt;
git cherry-pick --no-commit &amp;lt;commits&amp;gt;
&lt;/pre&gt;

	&lt;p&gt;Also, if you are on a Mac, there is a nice version of gitk called &#8220;&lt;a href=&quot;http://github.com/pieter/gitx/wikis&quot;&gt;gitx&lt;/a&gt;&#8221; I highly recommend you grab.  It&#8217;s &#8220;pretty&#8221; and has some neat features which you can find in the screencasts section of the site.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-10-14:197</id>
    <published>2008-10-14T03:10:00Z</published>
    <updated>2008-10-14T03:42:00Z</updated>
    <category term="wicket"/>
    <link href="http://www.basementcoders.com/2008/10/14/sessions-in-wicket" rel="alternate" type="text/html"/>
    <title>Sessions in Wicket</title>
<content type="html">
            &lt;p&gt;Found out a valuable lesson about session management in &lt;a href=&quot;http://wicket.apache.org/&quot;&gt;Wicket&lt;/a&gt; today.  Wicket tries to be as stateless as long as possible, I believe it takes some hints from how your pages are built to know if it needs to keep a Session around for longer than a Request.&lt;/p&gt;


	&lt;p&gt;So, if you find that &lt;code&gt;newSession(Request request, Response response)&lt;/code&gt; is being called in your WebApplication class for each and every request (not somethng you want happening if you&#8217;re trying to keep state in the session between requests!) what you have to do is use the &lt;code&gt;bind()&lt;/code&gt; method for the current session.&lt;/p&gt;


	&lt;p&gt;Using bind() can be done within the constructor of your custom Session class itself, or if you want more control over when Sessions persist, you can call bind selectively (i.e. only in the constructor of pages which use the Session to store/retrieve information intended to live between sessions).&lt;/p&gt;


	&lt;p&gt;e.g.&lt;/p&gt;


&lt;pre&gt;
public class MyPage extends WebPage {
//...
   public MyPage(String id) {
      getSession().bind();
      //setup wicket components
   } 
//...
}
&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-09-30:133</id>
    <published>2008-09-30T02:20:00Z</published>
    <updated>2008-09-30T02:20:56Z</updated>
    <category term="git"/>
    <category term="tips"/>
    <link href="http://www.basementcoders.com/2008/9/30/git-svn-gotcha" rel="alternate" type="text/html"/>
    <title>git-svn gotcha</title>
<content type="html">
            &lt;p&gt;I was having problems with the following setup the other day:&lt;/p&gt;


&lt;div&gt;

 [remote deveoper] &amp;lt;===&amp;gt; [shared git repo] &amp;lt;===&amp;gt; [me] &amp;lt;===&amp;gt; [client's svn repo]

&lt;/div&gt;
&lt;br /&gt;
So my remote developer and I push and pull to/from the shared git
repo, and then I sync changes to and from the client&#8217;s svn repo using
git-svn.
&lt;br /&gt;
h1. Problem

My problem is, when I am ready to merge changes from my local master
branch to trunk-local, if I do a &#8220;git merge master&#8221; and then try to
issue any git-svn commands I get the following errors:
&lt;pre&gt;
======================
$ git merge master
Updating d88106e..77b86ae
Fast forward
 community/pom.xml |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

$ git svn dcommit
Can't call method &quot;full_url&quot; on an undefined value at
/usr/local/git/libexec/git-core/git-svn line 425.

$ git svn rebase
Unable to determine upstream SVN information from working tree history
======================
&lt;/pre&gt;

	&lt;p&gt;The only way I&#8217;ve seem to be able to remedy this is if I add the
&#8220;subtree&#8221; merge strategy to the merge command:&lt;/p&gt;


&lt;pre&gt;
git merge -s subtree master
&lt;/pre&gt;

	&lt;p&gt;Then git-svn doesn&#8217;t get confused about it&#8217;s repo, but when you look
at the repo using gitk, you see something like:&lt;/p&gt;



&lt;pre&gt;
[trunk-local]--[remotes/trunk]  Merge branch 'master' into trunk-local
| \
|  \
|    [master]--[remotes/origin/master]  &quot;last master commit msg&quot; 
|    |
|    |
|  /
/
&lt;/pre&gt;

&lt;br /&gt;

	&lt;p&gt;When I use the normal merge strategy then gitk shows all branches at
the same level, but git-svn is of course b0rked.&lt;/p&gt;


	&lt;h1&gt;Solution&lt;/h1&gt;


	&lt;p&gt;I tried asking a few people on #git (freenode irc channel for git) for help, but the problem was a bit too involved to explain on irc and have someon follow along, so instead what I did was I asked on the official git mailing list (git@vger.kernel.org) and I got an answer almost immediately from &lt;strong&gt;Björn Steinbrink&lt;/strong&gt; with a solution that seems to work just great!  His input was to use &lt;code&gt;--no-ff&lt;/code&gt; when merging my changes into the svn tracking branch (trunk-local).  Here is his explanation:&lt;/p&gt;


&lt;blockquote&gt;
The original merge you did ended up as a fast-forward, ie. no merge
commit was created. I guess that your history is so, that somehow the
remotes/trunk stuff is reachable through the second parent of some merge
commit that exists in your history. But git-svn uses&#8212;first-parent to
find its upstream, so it cannot find that in your scenario. I guess it&#8217;s
best if you use &#8220;&lt;strong&gt;git merge&#8212;no-ff master&lt;/strong&gt;&#8221; to force the creation of a
merge commit. Subtree happens to work because it implies&#8212;no-ff, but
I&#8217;m not sure whether there might be downsides to using the subtree
strategy, so I&#8217;d rather go with the explicit&#8212;no-ff and the normal
merge strategies.
&lt;/blockquote&gt;

	&lt;p&gt;Hopes this helps other&#8217;s in the same situation as I was in.  Thanks &lt;strong&gt;Björn Steinbrink&lt;/strong&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-09-20:72</id>
    <published>2008-09-20T20:10:00Z</published>
    <updated>2008-09-20T20:11:25Z</updated>
    <category term="git"/>
    <category term="tips"/>
    <link href="http://www.basementcoders.com/2008/9/20/tip-mimic-user-file-permissions-to-group" rel="alternate" type="text/html"/>
    <title>Tip: mimic user file permissions to group</title>
<content type="html">
            &lt;p&gt;I ran into a situation the other day where I had setup a git repository for myself and wanted to grant read/write access to another fellow who is helping out on the project.  He could pull from the repository just fine, but couldn&#8217;t push to it because the directory permissions on the repo were only setup for me to write to.&lt;/p&gt;


	&lt;p&gt;After creating a new group for us, adding our user ids to it and then doing a recursive chgrp on the repo I realized that by default git repositories are not setup for group writes unless you explicitly specify that at the time of creations (i.e. &lt;code&gt;git init --shared=group&lt;/code&gt;.  So I really needed a way to recursively mirror the user&#8217;s file permissions on all files and directories in the repo to that of the group.&lt;/p&gt;


	&lt;p&gt;Searching long and hard I could not find a canned solution to this, perhaps one exists out there but because &#8220;mimic user file permissions to group&#8221; and &#8220;mirror user file permissions to group&#8221; don&#8217;t yield good results in google, I was forced to write my own Perl script:&lt;/p&gt;


&lt;pre&gt;
#!/usr/bin/perl
use File::stat;
use Fcntl ':mode';

foreach (@ARGV) {
    next unless -e $_;
    $stats = stat($_);
    $mode = substr(sprintf(&quot;%04o&quot;, $stats-&amp;gt;mode), -3);
    $out = &quot;$_ from $mode to &quot;;
    $mode =~ s/(\d)(\d)(\d)/$1$1$3/;
    $out = &quot;$out $mode&quot;;
    printf($out . &quot;\n&quot;);
    chmod oct($mode), $_;
}
&lt;/pre&gt;

	&lt;p&gt;The Usage on this script is:&lt;/p&gt;


&lt;pre&gt;
mimicuserperms.pl &amp;lt;name of file or directory&amp;gt;
&lt;/pre&gt;

	&lt;p&gt;To use it recursively:&lt;/p&gt;


&lt;pre&gt;
find . -exec mimicuserperms.pl {} \;
&lt;/pre&gt;

	&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;DISCLAIMER&lt;/span&gt;&lt;/strong&gt;: Not sure if this will work on every single system out there, I mean it literally just grabs the last three file perms found by stat and takes the first character and duplicates it over the second. So use at your own risk!  Perhaps, backup whatever you are going to use this on first before trying.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-09-18:59</id>
    <published>2008-09-18T23:12:00Z</published>
    <updated>2008-09-19T03:37:55Z</updated>
    <category term="dcsm"/>
    <category term="git"/>
    <category term="tips"/>
    <link href="http://www.basementcoders.com/2008/9/18/git-gotcha" rel="alternate" type="text/html"/>
    <title>git gotcha</title>
<content type="html">
            &lt;p&gt;Just thought I&#8217;d post about a problem I was having with git concerning the setup and cloning of a remote repository.  Basically, if you&#8217;ve setup a repository on a remote machine, and want to clone from that machine onto a local one using ssh, you may run into problems like I did.&lt;/p&gt;


	&lt;p&gt;The error I received was:&lt;/p&gt;


&lt;pre&gt;
ThaDonMBP:workspace craiger$ git clone craiger@192.168.2.10:/git/myproj
Initialized empty Git repository in /private/workspace/myproj/.git
craiger@192.168.2.10's password: 
bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly
&lt;/pre&gt;

	&lt;p&gt;The problem is that git is expecting git-upload-pack in a specific directory on the remote machine, and that is &lt;code&gt;/usr/bin&lt;/code&gt; or &lt;code&gt;/usr/local/bin&lt;/code&gt;.  That&#8217;s &lt;strong&gt;not&lt;/strong&gt; where I had git installed, I had it installed in &lt;code&gt;/opt/git/bin&lt;/code&gt;.  So all you need to do is symlink your git executables to &lt;code&gt;/usr/bin&lt;/code&gt; like so:&lt;/p&gt;


&lt;pre&gt;
craiger@192.168.2.10:~$ cd /usr/bin
craiger@192.168.2.10:/usr/bin$ sudo ln -s /opt/git/bin/* .
&lt;/pre&gt;

	&lt;p&gt;After that, things should work!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-09-09:45</id>
    <published>2008-09-09T17:41:00Z</published>
    <updated>2008-09-09T17:45:25Z</updated>
    <link href="http://www.basementcoders.com/2008/9/9/wicket-in-action-review" rel="alternate" type="text/html"/>
    <title>Wicket in Action Review</title>
<content type="html">
            &lt;p&gt;&lt;a href=&quot;http://www.mysticcoders.com/blog/2008/09/09/book-review-wicket-in-action/&quot;&gt;Wrote a review&lt;/a&gt; on the most excellent book &lt;a href=&quot;http://www.amazon.com/gp/product/1932394982&quot;&gt;Wicket in Action&lt;/a&gt; for the &lt;a href=&quot;http://www.mysticcoders.com/&quot;&gt;Mystic Coders&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;For those who haven&#8217;t heard of &lt;a href=&quot;http://wicket.apache.org/&quot;&gt;Wicket&lt;/a&gt;, it&#8217;s a java web framework that allows designers (the chaps good with Dreamweaver) to collaborate with the Developers (the guys good with Java) in such a way that neither destroys the others work.  It&#8217;s quite a great framework I encourage you to give it a try, and of course read the book!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-08-04:43</id>
    <published>2008-08-04T18:32:00Z</published>
    <updated>2008-08-04T19:03:18Z</updated>
    <category term="oracle"/>
    <category term="tips"/>
    <link href="http://www.basementcoders.com/2008/8/4/oracle-sproc-tip" rel="alternate" type="text/html"/>
    <title>Oracle Sproc Tip</title>
<content type="html">
            &lt;p&gt;A colleague of mine, &lt;a href=&quot;http://www.javageek.org/&quot;&gt;Guillermo Castro&lt;/a&gt;, showed me how to print the results of a stored procedure call that returns a ref cursor in Oracle.&lt;/p&gt;


	&lt;p&gt;In SqlDeveloper you would make a script like so:&lt;/p&gt;


&lt;pre&gt;
var results ref cursor;
var o_status number;
var o_err_msg varchar2;
exec :results := myschema.MY_SPROC(773490, 'TEST', :o_status, :o_err_msg);
print results;
print o_status;
print o_err_msg;
&lt;/pre&gt; 

	&lt;p&gt;This will output the values of the refcursor (a result set generated by MY_SPROC) as well as two &#8220;normal&#8221; out parameters :o_status and :o_err_msg.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>alex</name>
    </author>
    <id>tag:www.basementcoders.com,2008-06-19:40</id>
    <published>2008-06-19T04:20:00Z</published>
    <updated>2008-07-11T15:27:42Z</updated>
    <category term="Podcast"/>
    <category term="android"/>
    <category term="iphone"/>
    <link href="http://www.basementcoders.com/2008/6/19/episode-4-iphones-and-androids" rel="alternate" type="text/html"/>
    <title>Episode 4: iPhones and Androids</title>
<content type="html">
            &lt;div&gt;&lt;img src=&quot;http://www.basementcoders.com/images/iphone-bcoders.png&quot; height=&quot;274&quot; alt=&quot;&quot; width=&quot;139&quot; /&gt;&lt;/div&gt;
Recorded June 10, 2008&lt;br /&gt;
&lt;br /&gt;
In this episode we discuss Apple&#8217;s just announced (and soon to go on sale) iPhone 3G, 2.0 system software and the iTunes app store. We compare and contrast this device again Google upcoming Android platforms. Is the iPhone the sign of a new revolution or is it the next evolution of cell phones?
&lt;h3&gt;Links&lt;/h3&gt;

	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.apple.com/iphone/&quot;&gt;Apple iPhone&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://code.google.com/android/&quot;&gt;Google Android&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;br /&gt;
Listen now: &amp;lt;object height=&quot;24&quot; width=&quot;290&quot;&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;/object&gt;&lt;br /&gt; or &lt;a href=&quot;http://media.basementcoders.com/basementcoders.com_ep04.mp3&quot;&gt;Download the mp3&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-06-10:39</id>
    <published>2008-06-10T16:56:00Z</published>
    <updated>2008-06-11T00:43:16Z</updated>
    <category term="craig"/>
    <category term="gaming"/>
    <link href="http://www.basementcoders.com/2008/6/10/death-of-the-disconnected-lan-party" rel="alternate" type="text/html"/>
    <title>Death of the disconnected LAN party</title>
<content type="html">
            &lt;p&gt;Say what you will, but &lt;span class=&quot;caps&quot;&gt;LAN&lt;/span&gt; parties are &lt;strong&gt;way&lt;/strong&gt; better than just getting on some pub server and talking with your buddies over &lt;span class=&quot;caps&quot;&gt;VOIP&lt;/span&gt;.  In a &lt;span class=&quot;caps&quot;&gt;LAN&lt;/span&gt; party setting, I can literally walk up behind a guy and start tea-bagging him (4 r33lz!).&lt;/p&gt;


	&lt;p&gt;A friend of mine holds a quarterly gaming weekend out at his cottage, it&#8217;s not a remote cottage, it&#8217;s in a small hamlet about 45mins from the city.  Up until a few years ago high-speed internet wasn&#8217;t available to the region, that didn&#8217;t really matter though, all of our games played nicely over the &lt;span class=&quot;caps&quot;&gt;LAN&lt;/span&gt;.  Then games like &lt;a href=&quot;http://www.battlefield2.com/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;BF2&lt;/span&gt;&lt;/a&gt; started to emerge, and anything &lt;a href=&quot;http://www.steampowered.com&quot;&gt;Steam&lt;/a&gt; related where they &#8220;insist&#8221; on doing a little online check.  In earlier patches of &lt;span class=&quot;caps&quot;&gt;BF2&lt;/span&gt;, you literally couldn&#8217;t start the game without being online!  Even though the game has a fully supported single player campaign as well as &lt;span class=&quot;caps&quot;&gt;LAN&lt;/span&gt; multiplayer.  Now-a-days it&#8217;s a bit better, but it can take up to 3-5mins staring at a blank screen when starting &lt;span class=&quot;caps&quot;&gt;BF2&lt;/span&gt; before it is satisfied that it can&#8217;t connect to the internet before it starts up.  You can get around this by unplugging your ethernet cable when you start the game, then plugging it back in once it starts, but what a pain in the ass.&lt;/p&gt;


	&lt;p&gt;And then there is Steam, basically if you want to play Half-life or Team Fortress 2, good luck trying to do that without an internet connection, even if you intend to only play locally.  What a joke.  Luckily John now has access to high-speed through his neighbour&#8217;s connection.  When we go out there to play, they setup a wireless N bridge between the cabins.  However the last time we were up there the bridge failed (for unknown reasons) around midnight, and we were left there wanting to play &lt;span class=&quot;caps&quot;&gt;TF2&lt;/span&gt; but unable to.&lt;/p&gt;


	&lt;p&gt;Sounds like there needs to be a petition sent to the game companies which implores them not rely on an internet connection in order to play their game.  People still have &lt;span class=&quot;caps&quot;&gt;LAN&lt;/span&gt; parties, and yes, sometimes they do this without access to the internet!&lt;/p&gt;


	&lt;p&gt;&amp;lt;/rant&amp;gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-06-10:37</id>
    <published>2008-06-10T03:07:00Z</published>
    <updated>2008-06-10T03:11:18Z</updated>
    <link href="http://www.basementcoders.com/2008/6/10/next-episode-taping-tomorrow" rel="alternate" type="text/html"/>
    <title>Next episode taping tomorrow</title>
<content type="html">
            FYI we're taping our next episode tomorrow night.  Alex has grand notions of actually making the cast sound better, so it might be a few days before we post it.
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-06-05:34</id>
    <published>2008-06-05T14:47:00Z</published>
    <updated>2008-06-05T14:47:51Z</updated>
    <category term="eclipse"/>
    <category term="textmate"/>
    <category term="vi"/>
    <category term="vim"/>
    <link href="http://www.basementcoders.com/2008/6/5/episode-3-ides-vs-editors" rel="alternate" type="text/html"/>
    <title>Episode 3: IDEs vs Editors</title>
<content type="html">
            &lt;p&gt;Recorded Nov 2007 (yes that long ago)&lt;/p&gt;


	&lt;p&gt;Our third episode is about a topic near and dear to every developer: what editor to develop with and why it&#8217;s far superior than the piece of crap someone else uses.  Alex, Craig and Marc  chat about everything from Eclipse/Textmate to vim/emacs.  It&#8217;s a sensitive topic for most, and we went into this podcast knowing we wouldn&#8217;t convince each other to stray from our weapon of choice, but we managed to fill about 45 minutes discussing some of the finer points of editing and being productive.&lt;/p&gt;


	&lt;p&gt;I think this podcast &#8211; more so than the others &#8211; represents most accurately three developers sitting around drinking beer and talking shop.  When we go out to the pub (sadly) this is exactly the type of conversation we (and if you&#8217;ve made it to the third episode, probably you too) have.&lt;/p&gt;


	&lt;h3&gt;Links&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.vim.org/&quot;&gt;vim&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/&quot;&gt;Eclipse&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://macromates.com/&quot;&gt;Textmate&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;Emacs&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;br /&gt;
Listen now: &amp;lt;object height=&quot;24&quot; width=&quot;290&quot;&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;/object&gt;&lt;br /&gt; or &lt;a href=&quot;http://media.basementcoders.com/basementcoders.com_ep03.mp3&quot;&gt;Download the mp3&lt;/a&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.basementcoders.com/">
    <author>
      <name>craig</name>
    </author>
    <id>tag:www.basementcoders.com,2008-06-03:31</id>
    <published>2008-06-03T20:46:00Z</published>
    <updated>2008-06-03T20:56:08Z</updated>
    <category term="craig"/>
    <link href="http://www.basementcoders.com/2008/6/3/i-ve-changed" rel="alternate" type="text/html"/>
    <title>I've.... changed....</title>
<content type="html">
            &lt;p&gt;Much like with Mac, I&#8217;ve never been impressed with Sushi.  I&#8217;ve gone for sushi before and usually it was because someone said &#8220;&lt;i&gt;you don&#8217;t like sushi?  Oh, dude, you just haven&#8217;t had the good stuff&lt;/i&gt;&#8221; but ultimately I end up disappointed.&lt;/p&gt;


	&lt;p&gt;This has all changed, last time I was in San Fran &lt;a href=&quot;http://www.eugeneciurana.com&quot;&gt;Eugene Ciurana&lt;/a&gt; took us all to a Sushi place called &lt;a href=&quot;http://maps.google.ca/maps?q=takara+sushi+san+francisco&amp;amp;#38;ie=UTF8&amp;amp;#38;oe=utf-8&amp;amp;#38;client=firefox-a&amp;amp;#38;ll=37.785758,-122.429334&amp;amp;#38;spn=0.007207,0.016909&amp;amp;#38;z=17&amp;amp;#38;layer=c&amp;amp;#38;cbll=37.784886,-122.429267&amp;amp;#38;panoid=6kr9CiNgNlInEBG85v9tww&quot;&gt;Takara&lt;/a&gt; .  Now, Eugene is the author of the &lt;a href=&quot;http://www.eugeneciurana.com/musings/sushi-eating-HOWTO.html&quot;&gt;Sushi Eating &lt;span class=&quot;caps&quot;&gt;HOWTO&lt;/span&gt;&lt;/a&gt; so if there is anyone who knows good sushi, it should be him!  And he didn&#8217;t disappoint.  We had only sushi which was comprised of raw fish, on top of rice with a layer of wasabi.  Then moved on to a few cooked items like eel and octopus.  Everything was fantastic, absolutely no gag reflex triggered at any point.&lt;/p&gt;


	&lt;p&gt;I think the problem I&#8217;ve always had with sushi is a) I&#8217;m not a huge fan of fish, I mean I don&#8217;t hate it, i just don&#8217;t go out of my way to eat it b) I&#8217;ve always had &#8220;rolls&#8221; in my limited sushi experience, and these rolls always have seaweed and some sort of mayonnaise type stuff in them.  I&#8217;m really not a fan of cold creamy sauces, so right away I was turned off.  And the seaweed has such a fishy flavour that it didn&#8217;t agree with my gentle palate.&lt;/p&gt;


	&lt;p&gt;The raw fish didn&#8217;t taste fishy at all, I was taken aback, the only thing that tasted mildly fishy was the eel.&lt;/p&gt;


	&lt;p&gt;I think I must be getting cultured, I find Winnipeg lends itself to being cheap and not really trying things. Or, maybe that&#8217;s just me.&lt;/p&gt;


	&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;EDIT&lt;/span&gt;:  The same thing happened to me with Scotch a few years ago, shout out to Fred Martin from Morgan Stanley for opening my eyes to the smoky flavour of  &lt;a href=&quot;http://www.laphroaig.com/&quot;&gt;Laphroaig&lt;/a&gt;&lt;/p&gt;
          </content>  </entry>
</feed>
