<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  <title>Simon Jefford - Home</title>
  <id>tag:sjjdev.com,2009:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.8.0">Mephisto Drax</generator>
  
  <link href="http://sjjdev.com/" rel="alternate" type="text/html" />
  <updated>2008-05-18T22:11:17Z</updated>
  <link rel="self" href="http://feeds.feedburner.com/SimonJefford" type="application/atom+xml" /><entry xml:base="http://sjjdev.com/">
    <author>
      <name>simon</name>
    </author>
    <id>tag:sjjdev.com,2008-05-18:9</id>
    <published>2008-05-18T20:36:00Z</published>
    <updated>2008-05-18T22:11:17Z</updated>
    <category term="git" />
    <category term="lighthouse" />
    <category term="rails" />
    <category term="ruby" />
    <category term="tinyprojects" />
    <link href="http://sjjdev.com/2008/5/18/gil-the-proper-release" rel="alternate" type="text/html" />
    <title>Gil - the "proper" release</title>
<content type="html">
            &lt;p&gt;I just pushed out &lt;a href="/2008/5/12/gil"&gt;gil&lt;/a&gt; as a gem onto rubyforge (my first gem - how exciting!) The magic incantation is of course:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo gem install gil
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;There is no functional difference between the gem and the script that I initially made available on github only. As I type this it hasn't made to the gem servers yet, but it should be on its merry way now.&lt;/p&gt;

&lt;p&gt;UPDATE&lt;/p&gt;

&lt;p&gt;Of course I forgot one major functional difference. I couldn't actually think of why anyone would want to pass all the lighthouse information as options on the command line so I removed that. Putting the information in .git/config is now the way to go - see the original &lt;a href="/2008/5/12/gil"&gt;blog post&lt;/a&gt; for more information. The gem itself is light on documentation at the moment.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://sjjdev.com/">
    <author>
      <name>simon</name>
    </author>
    <id>tag:sjjdev.com,2008-05-14:6</id>
    <published>2008-05-14T11:03:00Z</published>
    <updated>2008-05-14T11:13:07Z</updated>
    <category term="ubuntu" />
    <link href="http://sjjdev.com/2008/5/14/openssh-vulnerability-in-ubuntu" rel="alternate" type="text/html" />
    <title>OpenSSH vulnerability in Debian (and variants)</title>
<content type="html">
            &lt;p&gt;This has been widely publicised - I found it on the &lt;a href="http://github.com/blog/63-ssh-keys-generated-on-debian-ubuntu-compromised"&gt;Github Blog&lt;/a&gt; but you should also see the &lt;a href="http://article.gmane.org/gmane.linux.debian.security.announce/1614"&gt;official Debian announcement&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is how I updated my Hardy slices:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo aptitude update
sudo aptitude install openssh-client openssh-server
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Trying to do a &lt;code&gt;aptitude safe-upgrade&lt;/code&gt; told me that the openssh-client and openssh-server packages were going to be kept back for some reason so I fell back to explicitly upgrading. Say yes to the first solution that aptitude presents. A blue screen will eventually appear warning you that the machine keys are about to be upgraded. Say "OK". WARNING - this means the thumbprints in your known_hosts file or equivalent will not match which means your ssh client will warn you that the host may not be safe (or it may not let you connect at all IIRC).&lt;/p&gt;

&lt;p&gt;Next you need to regenerate any user keys that you generated on your system. I did this as follows:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;rm ~/.ssh/id_rsa*
ssh key-gen
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next run &lt;code&gt;ssh-vulnkey&lt;/code&gt;. This will check all the keys in the usual locations - including those stored in your &lt;code&gt;authorized_keys&lt;/code&gt; file. Any keys that come up as vulnerable need to be removed. Dud keys in &lt;code&gt;authorized_keys&lt;/code&gt; probably indicate that there is a system that you use to connect to that box that needs to be patched and its keys upgraded.&lt;/p&gt;

&lt;p&gt;Please note, this may not be the best or most efficient way of sorting out this problem, it's just the way that worked for me.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://sjjdev.com/">
    <author>
      <name>simon</name>
    </author>
    <id>tag:sjjdev.com,2008-05-12:5</id>
    <published>2008-05-12T20:40:00Z</published>
    <updated>2008-05-12T20:42:16Z</updated>
    <category term="git" />
    <category term="greasemonkey" />
    <category term="javascript" />
    <category term="lighthouse" />
    <category term="tinyprojects" />
    <link href="http://sjjdev.com/2008/5/12/using-greasemonkey-to-link-lighthouse-and-github" rel="alternate" type="text/html" />
    <title>Using greasemonkey to link Lighthouse and Github</title>
<content type="html">
            &lt;p&gt;Next up is a simple &lt;a href="http://github.com/simonjefford/tinyprojects/tree/master/scripts/greasemonkey"&gt;Greasemonkey script&lt;/a&gt; (railslighthouselinker.js) that makes those Lighthouse hooks that &lt;a href="2008/5/12/gil"&gt;Gil&lt;/a&gt; finds so useful into links when viewing a commit in Github. The script can be easily customised to setup links from any github project to any lighthouse project. Just change the "includes" metadata and the lighthouse url in the body of the script.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://sjjdev.com/">
    <author>
      <name>simon</name>
    </author>
    <id>tag:sjjdev.com,2008-05-12:2</id>
    <published>2008-05-12T10:59:00Z</published>
    <updated>2008-05-12T15:53:18Z</updated>
    <category term="git" />
    <category term="lighthouse" />
    <category term="rails" />
    <category term="ruby" />
    <category term="tinyprojects" />
    <link href="http://sjjdev.com/2008/5/12/gil" rel="alternate" type="text/html" />
    <title>Gil</title>
<content type="html">
            &lt;p&gt;I figured it would be a good idea to start posting some of the scripts that I find useful - especially when doing Ruby / Rails coding. These scripts will end up in (where else) a &lt;a href="http://github.com/simonjefford/tinyprojects/tree/master/"&gt;Github repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The first is &lt;a href="http://github.com/simonjefford/tinyprojects/tree/master/scripts/gil"&gt;gil&lt;/a&gt;, a handy script for generating changelogs from your git repo AND your &lt;a href="http://lighthouseapp.com"&gt;Lighthouse&lt;/a&gt;. It was written to answer the question "what is going to be fixed or added in the next release?"&lt;/p&gt;

&lt;p&gt;Let me explain. You can get a list of changes by issuing a git-log command, like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git-log v2..HEAD
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;However, what you get from that may not be suitable to publish directly as a changelog, or to send a customer. This is where Lighthouse hooks come in handy. Assuming you have these hooks setup (the easiest way is to host on github) you can then associate a particular commit with a Lighthouse ticket (and mark it resolved all at the same time) by putting something like this in your commit message:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[#1 state:resolved]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;What gil does is to pick those handy strings out of your commit history and to use the Lighthouse &lt;a href="http://lighthouseapp.com/api"&gt;API&lt;/a&gt; to fetch details of the tickets. So if you were to run&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gil v2..HEAD --account=simonjefford --project=99999 --token=&amp;lt;your lighthouse beacon token&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;you would end up with a list of Lighthouse tickets that were resolved by commits since you tagged v2. Which is pretty neat. But passing in all that lighthouse information each time you run gil is a PITA right? So, put that information in your .git/config file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[gil]
    account=simonjefford
    project=99999
    token=&amp;lt;your lighthouse beacon token&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now you can just run &lt;code&gt;gil v2..HEAD&lt;/code&gt;. Much nicer.&lt;/p&gt;

&lt;p&gt;If you use Capistrano, gil becomes even more useful if you get cap to automatically tag your deployments:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;namespace :deploy do
    task :tag_release do
        system "git tag #{release_name}"
    end
end
after "deploy", "deploy:tag_release"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Assuming your deploy works OK you will end up with a tag named something like 20080508224225. Then you carry on coding, resolving lots of lighthouse tickets. To answer your boss when he asks "what's coming up in the next release" you can just run&lt;/p&gt;

&lt;p&gt;gil 20080508224225..HEAD&lt;/p&gt;
          </content>  </entry>
</feed>
