<?xml version="1.0" encoding="utf-8"?>
 
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en" xml:base="http://charlieharvey.org.uk/tag/Geekery/?view=atom">
 
        <title>Geekery Feed</title>
        <subtitle>A feed of things tagged 'Geekery', from Charlie Harvey's website</subtitle>
        <link href="http://charlieharvey.org.uk/tag.atom/Geekery" rel="self" xml:base="http://http://charlieharvey.org.uk/tag.atom/Geekery" />
        <id>http://charlieharvey.org.uk/tag.atom/Geekery/</id>
        <updated>2012-05-03T20:57:16Z</updated>
        <author>
                <name>Charlie Harvey</name>
        </author>


        <entry>
                <title>Bash Tip: Remove a line from middle of file</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/remove_line_from_middle_of_file_head_tail_bash_code" type="text/html" />
                <id>http://charlieharvey.org.uk/page/remove_line_from_middle_of_file_head_tail_bash_code</id>
                <updated>2012-05-03T20:57:16Z</updated>
                <summary><![CDATA[
  This is a thing that I've wanted to do for ages, and it came up for me during this week'd episode of Hak5, which I am getting to be a big fan of by the way. The material under discussion was what to do when one of your known hosts changes. Darren was saying he was a bit slack and just did an rm of his whole known_hosts file. 
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Seven Languages in Seven Weeks: Notes towards an epilogue</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_final_thoughts" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_final_thoughts</id>
                <updated>2012-03-18T13:05:06Z</updated>
                <summary><![CDATA[
I&#8217;ve finally finished my
seven languages in seven weeks adventure. It
took, as I&#8217;d oringinally expected, significantly more
than seven weeks, though the actual amount of time which I dedicated
was only a couple of days more that the amount allocated in the book. It was
just that the weeks were non-consecutive.
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Seven Languages In Seven Weeks</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_in_seven_weeks" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_in_seven_weeks</id>
                <updated>2012-03-10T13:10:52Z</updated>
                <summary><![CDATA[
  There is an idea, popularized in the Pragmatic Programmer book that its good to learn a new programming language every year. Seven Languages In Seven Weeks takes the concept one stage further, although clearly only for certain values of "learning". One is never going to be proficient at any language in a week, despite what Sams books may tell you!
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Scala - Day Three</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_scala_three" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_scala_three</id>
                <updated>2011-12-11T17:05:23Z</updated>
                <summary><![CDATA[
Day three and I'm now sort of getting the hang of Scala. Either that or the excercise is easier! I think that in learning about the neat text processing tricks that Scala allows, it helped me to click with it a bit more than in previous days. I've also started to get more used to the type system. At least I didn't spend as many hours figuring that bit out today as in the last two days. 
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Scala - Day Two</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_scala_two" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_scala_two</id>
                <updated>2011-12-10T17:29:49Z</updated>
                <summary><![CDATA[It all seemed so straightforward at first. And it was. Until I  needed to split an array into key value  pairs for the second excercise. I spent about two hours trying to find a nice way f doing that. I'm not entirely happy with the way I came up with, but it works at least.
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Scala - Day One</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_scala_one" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_scala_one</id>
                <updated>2011-12-08T22:08:58Z</updated>
                <summary><![CDATA[
Tate compares Scala to Edward Scissorhands in his metaphorical introduction to the chapter. What I've seen of the language so far certainly made me feel it was a little on the odd side. Its just near enough to Java that it feels wrong when it works more Rubyishly or more Lispishly. The first day very much focussed on the very basics of the language, especially the more Java-like side of the language. In working my way through the homework and searching the internets for syntax examples, I've come across a fair bit of quite cool looking code. Mine isn't!
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Prolog - Day Three</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_prolog_three" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_prolog_three</id>
                <updated>2011-12-04T16:25:53Z</updated>
                <summary><![CDATA[
My fears of a mega hardcore third day of prolog were not realised, and I actually had some proper fun this time round. Mr. Tate is absolutely right that making a sudoku solver the prolog way is "almost magical". I've written sudoke solvers in perl before. And believe me it ain't pretty. With prolog you just plug in the rules, type it up and go home.


9sudoku.pl
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Prolog - Day Two</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_prolog_two" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_prolog_two</id>
                <updated>2011-12-03T10:32:28Z</updated>
                <summary><![CDATA[
Day Two was challenging. Like really hard. My imperative mindset is finding the declarative approach to coding frankly odd. When things do work it feels almost magical. And in at least one of the solutions I just chanced upon the implementation by fiddling round pretyy randomly rather than having a clear mental model of a solution beforehand. I'm not sure if I could explain the logic at all.



reverse_list.pl
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Prolog - Day One</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_prolog_one" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_prolog_one</id>
                <updated>2011-12-01T22:22:14Z</updated>
                <summary><![CDATA[
Its been a long time since I finished the Io section of my Seven Languages in Seven Weeks Journey. I realize that. Probably six months. That is doubleplus ungood. In my defence I must remind readers that I said at the outset that I might not do these on seven consecutive weeks. I'm just stretching the nonconsecutiveness as far as I can!
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>New Features On Site: Page Archive, Tags In an Atom Feed</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/page_archive_tag_atom_feed" type="text/html" />
                <id>http://charlieharvey.org.uk/page/page_archive_tag_atom_feed</id>
                <updated>2011-11-13T23:40:11Z</updated>
                <summary><![CDATA[
    I&#39;ve been doing a bit of hacking on the frontend of the site today, and I&#39;ve added a couple of new features one of which I&#39;ve wanted for a while and one of which I needed in order to get stuff aggregated into the Planet Perl Iron Man blogging challenge.
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Making SVG fractals with perl</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/perl_svg_fractals" type="text/html" />
                <id>http://charlieharvey.org.uk/page/perl_svg_fractals</id>
                <updated>2011-11-06T15:18:44Z</updated>
                <summary><![CDATA[
  I've just returned from visiting nor in Rotterdam. It being her birthday, we went to the pub with some of the lovely folks from her course, and the talk turned to SVG and if there was anything interesting you could do with it. I thought that maybe you could do something with fractals. In this I was probably recalling Mike&apos;s awesome workshop on making fractals with HTML5 that happened at the 2011 barncamp. So, here's a first crack at a perl SVG Mandlebrot set maker. You can run it thus, you'll want to pipe the output to a .svg file most likely:

$ perl fractal.pl -x-.5 -y-.7 -z1.5 > my.svg
   
Where

  -x Is the horizontal centre of the render.
  -y Is the vertical centre of the render.
  -z Is how far we are zoomed in.

]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Having SOAP::Lite or LWP::UserAgent skip SSL certificate verification</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/perl_ssl_certificate_skip" type="text/html" />
                <id>http://charlieharvey.org.uk/page/perl_ssl_certificate_skip</id>
                <updated>2011-10-27T17:56:58Z</updated>
                <summary><![CDATA[
  Wow. This was a two pipe problem. I just upgraded perl on one of our servers. We use a lot of SOAP::Lite calls here, which used to be fine. But all of a sudden all my lovely scripts say:

  500 Can't connect to our.server.com:443 (certificate verify failed) at /usr/bin/myscript.pl line 28
  
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Tip: Upgrade Magento 1.5 from the commandline</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/upgrade_magento_1_5_from_commandline" type="text/html" />
                <id>http://charlieharvey.org.uk/page/upgrade_magento_1_5_from_commandline</id>
                <updated>2011-09-01T13:11:18Z</updated>
                <summary><![CDATA[
  One of the roles that I have at work is maintaining the Magento software that runs our ethical gift shop. I recently upgraded one of our Magento installs from 1.5.0.1 to 1.5.1 using the newly introduced mage commandline tool. As regular readers will know I am a bit of a CLI freak, and was happily impressed with mage. I wrote this as it took me some googling about to find how to make mage work.


Assumptions and prerequsites

I've assumed that you've got ssh access to your server and that its a linux or unix server.
I am assuming that you are upgrading Magento 1.5 or greater. If you are upgrading 1.4, you want to use the pear tool. There is a good  Magento 1.4 upgrade tutorial at hostknox if that is what you are trying to accomplish.
  Please, please back up your database and codebase. You'll be glad of it when you set prefered_state to beta and find you've upgraded to 1.6 by accident. I know I did.
    If you are in a production environment, you'll want to take down your server or put a holding message up so that customers can't access Magento whilst you work.


Let's Go!
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Lessons from Community Webhosting in Oxford: ox4.org</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/ox4_community_webhosting" type="text/html" />
                <id>http://charlieharvey.org.uk/page/ox4_community_webhosting</id>
                <updated>2011-07-15T07:56:18Z</updated>
                <summary><![CDATA[
  Back in 2008 me and my pal Penguin decided that it would be fun to have a webserver to play with. Nowadays, it doesn't cost much to have a virtual server with awesome hosts like Bytemark. But it still costs. Plus we wanted to provide a bit of a community activist resource. So, we figured that the best thing to do would be to share our server and use it as a resource for activism in Oxford. Well, we did that and now we're running a small scale activist orientated webhost, ox4.org &mdash; it's our postcode. We've learned some lessons along the way, and we carry on learning as we go.
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Visualising RSS feeds with Perl and GraphViz::Data::Grapher</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/rss_feeds_visualized_with_perl_and_graphviz" type="text/html" />
                <id>http://charlieharvey.org.uk/page/rss_feeds_visualized_with_perl_and_graphviz</id>
                <updated>2011-06-14T09:31:18Z</updated>
                <summary><![CDATA[
 





  A few weeks back I was browsing round Perlmonks as is my wont, when I came across planetscape's post How can I visualize my complex data structure?. In that post, planetscape mentions the GraphViz::Data::Grapher module for doing a sort of visual equivalent of Data::Dumper. ]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Cidered up techs in a field? Must be BarnCamp 2011!</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/barncamp_2011" type="text/html" />
                <id>http://charlieharvey.org.uk/page/barncamp_2011</id>
                <updated>2011-06-03T12:35:21Z</updated>
                <summary><![CDATA[
  This post is a slightly edited version of the BarnCamp 2011 blog post, which appeared on New Internationalist's tech blog. 
  
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Io - Day Three</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_io_three" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_io_three</id>
                <updated>2011-05-30T18:48:43Z</updated>
                <summary><![CDATA[
  It all looked so easy, especially after the monster list of assignments on Io, day two. Well, appearances can be deceptive it seems. The place where I got stuck was on question three. Try as I might I couldn't override the colon operator as I wanted to do. It worked fine on the commandline. No problem at all. But once the code was in a file, no dice. I just saw variations of: Exception: Sequence does not respond to ':' Eventually, after a stentorian swearing session, I came across a post from Ola Bini on yahoo groups in a vaguely-titled thread called Question from "7 languages in 7 weeks". It seems that you can't override the operator table if it has already been used to read the current file. But, you can read your data from another file or using doString to get round this. Once I changed that everything suddenly became a bit more Ferris Bueller-like once more.  

0. builder2.io
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Video: Quick HTML Editing With Vim</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/video_quick_html_editing_with_vim" type="text/html" />
                <id>http://charlieharvey.org.uk/page/video_quick_html_editing_with_vim</id>
                <updated>2011-05-19T11:22:02Z</updated>
                <summary><![CDATA[This is the minimalistest of minimalist web casts, just to show off the awesomeness of a couple of vim modules for quick html h4x0ring. Specifically  Surround and snipMate. w00t!]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Drupal 7 web server performance shootout: nginx vs Apache</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/d7_nginx_vs_apache" type="text/html" />
                <id>http://charlieharvey.org.uk/page/d7_nginx_vs_apache</id>
                <updated>2011-05-19T11:21:03Z</updated>
                <summary><![CDATA[I was interested to see how nginx
 would play with Drupal 7
 and how much performance boost I'd get as compared to Apache
  . As it turns out an extra ~50 requests a second and a lower overall system load (as measured by top).

  This is quite a high res screencast (thanks kazam!), so you might want to look at the high resolution version.]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Video: Turning MP3s back into ones and zeros</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/turning_mp3s_into_ones_and_zeros" type="text/html" />
                <id>http://charlieharvey.org.uk/page/turning_mp3s_into_ones_and_zeros</id>
                <updated>2011-05-19T11:20:52Z</updated>
                <summary><![CDATA[
    I&#39;ve wanted to make some code to turn MP3s back into the ones and zeros from which they are made ever since reading Eben Moglen&#39;s Anarchism Triumphant. In that Moglen says:
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Tool: Twitter RSS Feed Getter</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/twitter_rss" type="text/html" />
                <id>http://charlieharvey.org.uk/page/twitter_rss</id>
                <updated>2011-05-19T11:17:06Z</updated>
                <summary><![CDATA[
  User:
     
   &nbsp; 
    



What&apos;s this?
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Backtrack5, on an encrypted USB filesystem and nouveau driver</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/backtrack5_encrypted_usb_and_nouveau_driver" type="text/html" />
                <id>http://charlieharvey.org.uk/page/backtrack5_encrypted_usb_and_nouveau_driver</id>
                <updated>2011-05-18T21:45:02Z</updated>
                <summary><![CDATA[
  Backtrack Linux has become increasingly useful to me over the last few months. The latest release Backtrack 5 came out on 10 May, so I, of course wanted to have a play. Just a little background on Backtrack. Its specifically aimed at security professionals and hackers and has everything that you might need to do information security work, digital forensics, pen testing and so on. The new release brings a GNOME desktop &ndash; the previous version was a KDE-only distro &ndash; which is a big deal for me. Its got the shinyness of Ubuntu with the focus of a proper infosec distro. Very, very good.   
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Io - Day Two</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_io_two" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_io_two</id>
                <updated>2011-05-15T14:20:09Z</updated>
                <summary><![CDATA[
  Wow. Day two messed with my head. I woke up a bit tired this morning to have a crack at it and got really baffled by how to make a fibonacci sequence. Just drew a total blank. So, I dug out some old c code I had and copied that into io. Which is sort of cheating, but got me going and also helped me feel a bit more comfortable with the language. Like Tate says, feeling comfortable with a new language is often about typing some code. Well, my homework excercises with some commentary looked like this.

1. fib.io
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Io - Day One</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_io_one" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_io_one</id>
                <updated>2011-05-08T15:34:58Z</updated>
                <summary><![CDATA[
After getting Io installed, I am feeling a little smug with myself. I don't know if its just because the language is so different, or because I've had a beer or what but the Io introductory material seems more complex than that for Ruby. However, looking back at what was covered I suspect that there was actually less material. Io is an extremely minimalist language with a tiny and beautifully consistent syntax. In day one we look at the basics of the syntax -- messages, inheritence, prototypes, slots, methods and the basic collections, lists and maps (read arrays and hashes, roughly). We also get a quick interview with Steve Dekorte, the language's creator. 
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Io - Day 0, setting it up on Debian</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_io_zero_installing_io_on_debian" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_io_zero_installing_io_on_debian</id>
                <updated>2011-05-08T13:39:37Z</updated>
                <summary><![CDATA[
  Well, it has been a while since Ruby, so I thought it was time to have a crack at the next of the my Seven Languages In Seven Weeks challenges, its time to play with Io. As it turns out Io was a bit of a faff to install on Debian Squeeze. So I've written up a day 0 tute on how to do just that. I've found a combination of the advice from Tim Hardy and from Eric Hogue on the Seven Languages Forums, advice from the install guide, this post, installing the io language from Brian Racer and installing stuff from the aptitude curses interface got me there in the end.


Install the dependencies
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Ettercap remote_browser Plugin Fun</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/ettercap_remote_browser_fun" type="text/html" />
                <id>http://charlieharvey.org.uk/page/ettercap_remote_browser_fun</id>
                <updated>2011-05-07T20:32:57Z</updated>
                <summary><![CDATA[
I've just spent some serious time getting Ettercap's remote_browser plugin to work as expected on my home network. The plugin allows you to view the pages that another user on your network is browsing. What actually made the difference in the end was changing the argument ordering. For once dogged persistence on my part ended up being productive!
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Sack Boris 2012: Ruling class flim-flam-nonsense maker</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/sack_boris_2012" type="text/html" />
                <id>http://charlieharvey.org.uk/page/sack_boris_2012</id>
                <updated>2011-05-03T21:20:07Z</updated>
                <summary><![CDATA[
    I was chuffed to learn that the folks at Common People had been able to use the code I wrote for the What will George Osborne Cut Next random cut generator into a Boris Johnson flim-flam answer generator. You ask Boris a question and he talks errant ruling class nonsense. Just like the real thing!
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>One liner: Find all javascript files used by a website</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/javascript_files_grep_oneliner" type="text/html" />
                <id>http://charlieharvey.org.uk/page/javascript_files_grep_oneliner</id>
                <updated>2011-04-27T15:35:50Z</updated>
                <summary><![CDATA[
  Just thought I'd document this as its likely to be the sort of thing that others might need. I was doing a bit of a tidyup of our javascript files on the global justice site New Internationalist and I needed to know which javascript files were still in use. Its a recursive grep for .js files right. Well almost. I used the little-known -o parameter for grep, along with -h to make sure I only got a list of .js files enclosed in quotes -- I didn't care which files referenced them. I then removed the quotes, which had to be there for greppage with tr. Next I piped the output through sort -u to get me unique occurences. I might have used -c if I'd needed to know how often files were referenced. Finally I dumped the whole lot into a file. Job done.


$ grep -rhoE  "[A-Za-z\.-_]+.js" /var/www/mysite/ | tr -s '"' '\0' | sort -u > 2011-04-05-mysite-all-js-files.txt

]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Ruby - Day Three</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_ruby_three" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_ruby_three</id>
                <updated>2011-04-12T21:59:02Z</updated>
                <summary><![CDATA[
The last day is definitely the most fun. We get to play with metaprogramming with one bigger question, of which more shortly. My reflections on Ruby were it was cool to catch up with the language. I'd sort of forgotten quite how nifty it was to play with. For my money its more Perlish than the other popular OO scripting language Python, which is a very good thing in my book. Perhaps, I'll make something with Ruby rather than Perl next time I'm hacking a project, who knows? 
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Ruby - Day Two</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_ruby_two" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_ruby_two</id>
                <updated>2011-04-11T20:10:46Z</updated>
                <summary><![CDATA[
    The second day of Ruby picks up the pace a bit, mostly focussing on the nice bits of sugar that Ruby provides and the excercises give you a chance to play with them a bit.



fileio.rb
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Ruby - Day One</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/seven_languages_ruby_one" type="text/html" />
                <id>http://charlieharvey.org.uk/page/seven_languages_ruby_one</id>
                <updated>2011-04-09T11:54:30Z</updated>
                <summary><![CDATA[
  As I said, Ruby is a language I know pretty well already, so this is a gentle introduction for me. Tate compares Ruby to Mary Poppins &mdash; magical and fun. I hated that film. But I take the point. The excercises are pretty trivial, but here are my answers.


helloworld.rb
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Geekery</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/geekery" type="text/html" />
                <id>http://charlieharvey.org.uk/page/geekery</id>
                <updated>2011-03-13T10:27:22Z</updated>
                <summary><![CDATA[
        Some useful snippets of technobabble, code and such for the discerning geeks and programmers amongst you. 
    ]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Tip: Hassle Free Passwordless Remote SSH Login</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/ssh_login_without_password" type="text/html" />
                <id>http://charlieharvey.org.uk/page/ssh_login_without_password</id>
                <updated>2011-03-01T20:25:24Z</updated>
                <summary><![CDATA[There is plenty of other documentation of how to set up remote passwordless ssh logins elsewhere on the web. But it often takes some faffing to make it work as you'd like. Now, I often do this, so I thought I'd write up the easiest way that I've found to do so. It only has two steps. However, the caveat emptor is that you really, really need to secure the machine from which you're doing this. If someone were to get hold of your key because you lunched out your unencrypted laptop, they'd be able to log in just the same as you. You have been warned!

1. Generate your key
  ]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Debian Tip: Get a list of all installed packages with dpkg</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/dpkg_get_selections" type="text/html" />
                <id>http://charlieharvey.org.uk/page/dpkg_get_selections</id>
                <updated>2011-01-03T15:58:05Z</updated>
                <summary><![CDATA[I like to make sure that I always have a listing of all the files I have on my Debian boxen. Fortunately dpkg has a quick way of doing just that. # dpkg --get-selections > /path/to/mybackup.txt  I run that once a day or so as a cron job dumping to a file, that file will be in my usual rsync backup. That means that if my harddrive dies I can simply # dpkg --set-selections &lt; /path/to/mybackup.txt
# apt-get -u dselect-upgrade
 to have a full restore of all my packages.]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>SSH Tip: Proxy your browser with SSH</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/ssh_socks_proxy" type="text/html" />
                <id>http://charlieharvey.org.uk/page/ssh_socks_proxy</id>
                <updated>2010-10-27T01:41:02Z</updated>
                <summary><![CDATA[
    I was just now trying to see how the New Internationalist website might look from Canada, to test some GeoIP set up that we&#39;re working on. So I used a trick that I mainly use when I&#39;m browsing the interwebs from public WiFi networks. Given the emergence of tools like Firesheep, which allows h4x0rz to steal your unencrypted social networking sessions, I thought now might be a good time to remind/share this tip with you.



    Prerequisites


]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>BarnCamp 2010</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/barncamp_2010" type="text/html" />
                <id>http://charlieharvey.org.uk/page/barncamp_2010</id>
                <updated>2010-05-01T22:23:18Z</updated>
                <summary><![CDATA[
BarnCamp 2010 was two days of workshops on topics ranging from renewable energy to foraging for food to citizen journalism to using free software for activism, three nights of camping, open space sessions, evening entertainment, great food at Highbury Farm, a beautiful farm co-op high in the Wye Valley.






  
  
  
  
  




Personal highlights


Sunshine
Meeting the other ciderpunk
Learning how to be a citizen journalist
Learning that Cornish folks come North in the Summertime for direct action and riots
Drinking ace cider
Nicest train conductor ever
The nerd block -- for people going off on a geek rant that no-one else can understand

The Linux Lord's Prayer
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Dual Head on Debian Squeeze with nouveau and xrandr</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/dual_head_on_debian_squeeze_with_nouveau_and_xrandr" type="text/html" />
                <id>http://charlieharvey.org.uk/page/dual_head_on_debian_squeeze_with_nouveau_and_xrandr</id>
                <updated>2010-02-11T12:19:08Z</updated>
                <summary><![CDATA[I recently got myself a 24-inch monitor. I wanted to keep using my trusty 17 inch as well - to use as a secondary monitor for system monitoring, playing music and other background tasks. There is a closed-source nvidia driver. But I'll be using the open source nouveau driver (after trying with no success the nv open source driver). This is a writeup of what worked for me. 


Two monitors is better than one!
The setup

]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Space Invaders</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/space_invaders" type="text/html" />
                <id>http://charlieharvey.org.uk/page/space_invaders</id>
                <updated>2009-08-01T00:00:00Z</updated>
                <summary><![CDATA[
  
  
  I wrote this for fun and to learn and practice
  design patterns. 
  You can 
    download (tar.bzip2) and use it under the terms of the 
  GNU General Public Licence.
  You can also browse the source.]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>My Geek Codes</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/page/my_geek_codes" type="text/html" />
                <id>http://charlieharvey.org.uk/page/my_geek_codes</id>
                <updated>2007-03-01T15:33:51Z</updated>
                <summary><![CDATA[
How to tell the world you are a geek, you ask? Use the universal Geek code! Using this special code will allow you to let other un-closeted geeks know who you are in a simple, codified statement...  The Universal Geek Code Page
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Crab2mail: Get Your Crabgrass Inbox In Your Email Inbox</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/writings.pl?uid=107" type="text/html" />
                <id>http://charlieharvey.org.uk/writings.pl?uid=107</id>
                <updated>2012-03-04T20:48:01Z</updated>
                <summary><![CDATA[One of the gotchas with  Riseup.net&#8217;s crabgrass install is that it is very much a pull technology. You have to remember to check your Crabgrass. I am forgetful sometimes. So I made a script called crab2mail to pull your crabgrass inbox into your email Inbox. This is a first release, hosted over on my gitorious. Do let me know if you find it useful or you'd like changes. I&#8217;ve at least one improvement in mind already.]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Muffet: A Perl Web Spider</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/writings.pl?uid=101" type="text/html" />
                <id>http://charlieharvey.org.uk/writings.pl?uid=101</id>
                <updated>2011-05-12T15:56:51Z</updated>
                <summary><![CDATA[Muffet is a web spider written in Perl and Moose that I've put up on github, under GPL.
]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>TwitterHaiku -- A Thing for making haiku from Twitter searches</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/writings.pl?uid=99" type="text/html" />
                <id>http://charlieharvey.org.uk/writings.pl?uid=99</id>
                <updated>2011-04-02T13:15:00Z</updated>
                <summary><![CDATA[TwitterHaiku lets you find a haiku-like tweet. That is to say that it finds 17 syllable tweets from the Twitter search API and formats them so they look like a haiku. I wrote it as an amusing way to respond to a dinner invitation written in verse form which I received from from a certain Penguin. I'm very grateful to Greg Fast for making Lingua::EN::Syllable available on CPAN. It helped me to count syllables relatively reliably. I was also helped by a perlmonks post on approtioning an array almost equally by davido which put me on the right lines for apportioning words between lines.]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Making Sendmail use a relay even when not running the Sendmail daemon</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/writings.pl?uid=91" type="text/html" />
                <id>http://charlieharvey.org.uk/writings.pl?uid=91</id>
                <updated>2010-07-17T18:54:36Z</updated>
                <summary><![CDATA[This turned out to be a three pipe problem; all I wanted to do was not to run OpenBSD's send mail daemon, yet still be able to send mail from that box. It turns out that there's a simple answer in the post Improving Sendmail Security by Turning it Off, by Hal Pomeranz. From the post:]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

        <entry>
                <title>Charlie's RSS feed</title>
                <link rel="alternate" href="http://charlieharvey.org.uk/writings.pl?uid=61" type="text/html" />
                <id>http://charlieharvey.org.uk/writings.pl?uid=61</id>
                <updated>2006-03-15T21:19:34Z</updated>
                <summary><![CDATA[Well, after a couple of hours faffing with perl I've got a valid looking RSS feed. This will let you stay in touch with what I'm ranting, writing and coding using a 'news reader' program or device. Or even syndicate my site. Kewl.]]></summary>
				<author>
					<name>Charlie Harvey</name>
				</author>
        </entry>

 
</feed>


