CINXE.COM

Charlie Harvey 127.0.0.1 -- Charlie Harvey

<!DOCTYPE html> <html lang="en-GB"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <!-- ; RIP Seymour Papert pc 2 pd repeat 180[fd 1 rt 2] --> <meta name="description" content="Charlie Harvey's website &mdash; the lair of the ciderpunx. Being the home page of Charlie Harvey with diverse musings on cider, geekery and perl." /> <meta name="keywords" content="charlie harvey, charlie, harvey, perl, html, punk, punk rock, cider, ciderpunx, direct action, boozeulator, daily mail generator, code, floss, gnu/linux, hacker, geekery" /> <meta name="news_keywords" content="charlie harvey, ciderpunx" /> <meta name="author" content="Charlie Harvey" /> <meta name="generator" content="Dancer 1.3500: Minimalist perl web framework. Vim: text editor." /> <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Libre+Baskerville:400,400italic,700%7CCabin:400,700%7CInconsolata:400" type="text/css" /> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" media="screen"/> <link rel="stylesheet" href="//static.charlieharvey.org.uk/css/style.css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="RSS: Blog Posts" href="/page/feed/rss" /> <link rel="alternate" type="application/rss+xml" title="RSS: Comments" href="/comment/feed/rss" /> <link rel="alternate" type="application/rss+xml" title="RSS: Files" href="/file/feed/rss" /> <link rel="alternate" type="application/rss+xml" title="RSS: Flickr images" href="http://flickr.com/services/feeds/photos_public.gne?id=8361414@N05&amp;lang=en-us&amp;format=rss_200"> <link rel="license copyright" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" /> <link rel="shortcut icon" href="//static.charlieharvey.org.uk/favicon.ico" /> <link rel="canonical" href="/ " /> <!-- TODO: These shouldn't show for example on the rss aggregator page--> <meta property="og:title" content="Charlie Harvey 127.0.0.1" /> <meta property="og:locale" content="en_GB" /> <meta property="og:type" content="article" /> <meta property="og:url" content="/" /> <meta property="og:site_name" content="charlieharvey.org.uk" /> <meta property="og:description" content="Charlie Harvey's website &mdash; the lair of the ciderpunx. Being the home page of Charlie Harvey with diverse musings on cider, geekery and perl." /> <meta property="twitter:card" content="summary_large_image" /> <meta property="twitter:title" content="Charlie Harvey 127.0.0.1" /> <meta property="twitter:domain" content="charlieharvey.org.uk" /> <meta property="twitter:description" content="Charlie Harvey's website &mdash; the lair of the ciderpunx. Being the home page of Charlie Harvey with diverse musings on cider, geekery and perl." /> <meta property="twitter:creator" content="@ciderpunx" /> <meta property="twitter:site" content="@ciderpunx" /> <meta property="dc.title" content="Charlie Harvey 127.0.0.1" /> <meta property="dc.creator" content="Charlie Harvey" /> <meta property="dc.subject" content="Charlie Harvey 127.0.0.1" /> <meta property="dc.description" content="Charlie Harvey's website &mdash; the lair of the ciderpunx. Being the home page of Charlie Harvey with diverse musings on cider, geekery and perl." /> <meta property="dc.publisher" content="charlieharvey.org.uk" /> <meta property="dc.contributor" content="Charlie Harvey" /> <meta property="dc.language" content="en-GB" /> <script type="application/ld+json"> { "@context": "http://schema.org" , "@type": "WebSite" , "url": "https://charlieharvey.org.uk/" , "name": "Charlie Harvey's site: 127.0.0.1" , "author": { "@type": "Person" , "name": "Charlie Harvey" } , "publisher": { "@type": "Organization" , "name": "charlieharvey.org.uk" , "logo": { "@type": "ImageObject" , "url": "http://static.charlieharvey.org.uk/img/dotorg-2013-topbar.jpg" , "width": "950" , "height": "224" } } , "potentialAction": { "@type": "SearchAction" , "target": "https://charlieharvey.org.uk/ddg?q={search_term_string}" , "query-input": "required name=search_term_string" } , "description": "Charlie Harvey: 127.0.0.1 - the lair of the ciderpunx. Perl, cider, geekery" } </script> <!--[if lt IE 9]><script src="//static.charlieharvey.org.uk/js/vendor/respond.min.js"></script><script src="//static.charlieharvey.org.uk/js/vendor/html5shiv-printshiv.js"></script><script src="//cdn.jsdelivr.net/jquery/1.10.2/jquery-1.10.2.min.js"></script><![endif]--> <!--[if gte IE 9]><!--><script src="//static.charlieharvey.org.uk/js/zepto.min.js"></script><!--<![endif]--> <title>Charlie Harvey 127.0.0.1 -- Charlie Harvey</title> </head> <body> <!--t:header--> <p class="hidden"><a id="top" href="#content">Skip navigation</a></p> <header class="titlebar"> <h1>Charlie Harvey</h1> </header> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">Menu</button> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li class="active"><a class="tag me" href="/" >Home</a></li> <li class="dropdown "> <a class="dropdown-toggle" href="#" data-toggle="dropdown">Blog<strong class="caret"></strong></a> <ul class="dropdown-menu" role="menu"> <li><a class="nav tag me" href="/page/index" accesskey="B">Blog home</a></li> <li class="divider"></li> <li><a class="nav tag me" href="/page/geekery">Geekery</a></li> <li><a class="nav tag me" href="/page/cider">Cider reviews</a></li> <li><a class="nav tag me" href="/page/projects">Projects</a></li> <li><a class="nav tag me" href="/page/activism">Activism</a></li> <li><a class="nav tag me" href="/page/reading_lists">Reading</a></li> <li><a class="nav tag me" href="/page/design">Design &amp; photography</a></li> <li><a class="nav tag me" href="/page/musings_rants_oped">Musings</a></li> <li><a class="nav tag me" href="/page/vegan_recipes">Vegan recipes</a></li> <li><a class="nav tag me" href="/page/fun_and_games">Fun and games</a></li> </ul> </li> <li ><a class="nav tag me" href="/file/archive/1" accesskey="W">Files</a></li> <li ><a class="nav tag me" href="/flick/list/1" accesskey="I">Images</a></li> <li class="dropdown "> <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<strong class="caret"></strong></a> <ul class="dropdown-menu" role="menu"> <li><a class="nav tag" href="/about" accesskey="?">About</a></li> <li><a class="nav tag me" href="/cv.pl" accesskey="R">CV</a></li> <li><a class="nav tag" href="/popular/week">Popular this week</a></li> <li><a class="nav tag" href="/about/feeds">RSS and Atom feeds</a></li> <li><a class="nav tag" href="/about/api">Content API</a></li> <li><a class="nav tag" href="/page/privacy">Privacy statement</a></li> <li><a class="nav tag me" href="/contact_charlie" accesskey="@">Contact</a></li> </ul> </li> </ul> <div class="searchbox right nav navbar-right pull-right"> <form method="get" id="search" class="navbar-form" role="search" action="/ddg"> <div class="input-group" id="search-input-group"> <label class="search-label hidden" for="st-search-input">Search:</label> <input type="text" name="q" maxlength="255" tabindex="1" placeholder="Search" id="st-search-input" /> <div class="input-group-btn"> <button type="submit" tabindex="2" name="go" value="" id="go" class="btn btn-default"> <span class="glyphicon glyphicon-search"></span> </button> </div> <label for="go" class="hidden">Go</label> </div> </form> </div> </div><!--/.nav-collapse --> </div> </nav> <!--/header--> <div id="page" class="container"> <!--t:index--> <div class="hidden-md hidden-sm hidden-xs"> <!--t:social_block--> <div class="social-block-div"> <ul class="no-decoration" id="social-block"> <li><a href="https://twitter.com/intent/tweet?via=ciderpunx&amp;related=ciderpunx&amp;url=http://charlieharvey.org.uk/&amp;text=I&#8217;m%20reading%20Charlie%20Harvey%20127.0.0.1%20&mdash;%20" class="sprite twitter">Share on Twitter</a></li> <li><a href="http://www.facebook.com/share.php?u=http://charlieharvey.org.uk/&amp;t=I&#8217;m%20reading%20Charlie%20Harvey%20127.0.0.1" class="sprite facebook">Share on Facebook</a></li> <li><a href="https://plus.google.com/share?url=http://charlieharvey.org.uk/" class="sprite gplus">Share on Google+</a></li> <li><a href="http://news.ycombinator.com/submitlink?u=http://charlieharvey.org.uk/&amp;t=Charlie%20Harvey%20127.0.0.1" class="sprite hackernews">Share on Hacker News</a></li> </ul> <a href="javascript:void(0)" id="social-block-toggle" class="visible-lg">&#8599;</a> </div> <!--/social_block--> </div> <div class="container"> <article class="entry-content drop-cap frontpage-opaque-bg"> <h2><strong>What&#8217;s all this then?</strong></h2> <div class="row"> <div class="col-xs-6 col-sm-9"> <p style="margin-top:0"> <span class="drop-cap">M</span>y name is <a href="/about/charlie-harvey">Charlie Harvey</a> and this is my website. I like <a href="/page/geekery">computer geekery</a>, <a href="/page/cider">drinking cider</a> and trying to <a href="/tag/activism">overthrow capitalism</a>. I seem to be doing rather better with the first two.</p> <p> Sometimes I <a href="/page/projects">make things</a> like the <a href="/daily_mail/">Daily Mail story generator</a>, sometimes I <a href="/blog/">blog</a> and sometimes I just stare blankly into space. </p> </div> <div class="col-xs-6 col-sm-3"> <img class="bordered" alt="Portrait of Charlie Harvey" src="//static.charlieharvey.org.uk/img/charlie-harvey.jpg" /> </div> </div><!--/row--> <div class="row"> <div class="col-sm-8"> <h3>Recent blogs</h3> <ul id="blogs" class="no-decoration"> <li> <h4><a href="/page/smokeandmirrors_immersive">A spot of immersive storytelling</a></h4> <div class="bordered article-thumbnail"> <a href="/page/smokeandmirrors_immersive"><img alt="A spot of immersive storytelling cover image" src="//static.charlieharvey.org.uk/graphics/projects/smokeandmirrors.jpg" /></a> </div> <p>Yesterday marked the launch of one of New Internationalist's first multimedia immersive long-form pieces, Smoke and Mirrors. Cooking smoke is responsible for a staggering amount of deaths in the world &mdash; more than malaria, tuberculosis and HIV/AIDS combined. Not only that, the need for wood c <a href="/page/smokeandmirrors_immersive">&hellip;</a></p> </li> <li> <h4><a href="/page/2017_030405_reading">March-May Reading</a></h4> <div class="bordered article-thumbnail"> <a href="/page/2017_030405_reading"><img alt="March-May Reading cover image" src="//static.charlieharvey.org.uk/graphics/reviews/2017-walkaway.jpg" /></a> </div> <p>Doctorow is both an entertaining author and very much on the right (by which I mean left/anarchist) side of politics. His futuristic utopia is set in a world where people are kept artificially poor in the midst of post scarcity merely to keep the capit <a href="/page/2017_030405_reading">&hellip;</a></p> </li> <li> <h4><a href="/page/twatbegone_userscript">TwatBegone: A much nicer twitter</a></h4> <div class="bordered article-thumbnail"> <a href="/page/twatbegone_userscript"><img alt="TwatBegone: A much nicer twitter cover image" src="//static.charlieharvey.org.uk/graphics/geekery/twatbegone.jpg" /></a> </div> <p>A while ago, my buddy Oxguin was thinking about the blocking on Twitter, specifically because of Donald Trump. What happens, you see, is that when Trump says something twattish, as he is wont to do, all the non-twattish people on Twitter start telling him how much of a twat he is for saying it. <a href="/page/twatbegone_userscript">&hellip;</a></p> </li> <li> <h4><a href="/page/hipster_menu_crafter">The authentic, hand-curated Hipster menu crafter</a></h4> <div class="bordered article-thumbnail"> <a href="/page/hipster_menu_crafter"><img alt="The authentic, hand-curated Hipster menu crafter cover image" src="https://static.pexels.com/photos/6969/sunset-summer-hipster-pipe.jpg" /></a> </div> <p>Since the world, or at least the UK, seems to have decided to Gastrate all its pubs and the hipsters have taken over even once proudly grim local boozers, it seemed important to invent a tool to generate hipster menu items. And it should be written in vintage javascript, of course.So let me pres <a href="/page/hipster_menu_crafter">&hellip;</a></p> </li> <li> <h4><a href="/page/2017_0102_reading">January/February 2017 Reading</a></h4> <div class="bordered article-thumbnail"> <a href="/page/2017_0102_reading"><img alt="January/February 2017 Reading cover image" src="//static.charlieharvey.org.uk/graphics/reviews/2017-pirate-utopia.jpg" /></a> </div> <p>Bruce Sterling is that other cyberpunk author. He is back to writing counterfactual alternative histories examining what may have been had things just happened to turn out slightly differently (cf. steampunk bible and Victorian romp The Differen <a href="/page/2017_0102_reading">&hellip;</a></p> </li> </ul> <p class="rightalign"><a href="/page/"><em>More blogs</em> &raquo;</a></p> </div> <div class="col-xs-12 col-sm-4"> <h3>Popular this week</h3> <ul id="popular" class="no-decoration tinytext"> <li><a href="page/js_html5_sound_api_morse_code">Online morse code translator. With sound. Using the web audio API. </a></li> <li><a href="page/index">Blog </a></li> <li><a href="daily_mail/?262416.565519766">Daily Mail story generator </a></li> <li><a href="page/howto_breaking_pdfs_up_into_mutiple_pages">Split multi-page PDFs into single page PDFs on GNU/Linux with pdftk </a></li> <li><a href="contact_charlie">Contact me </a></li> </ul> <h3>Recent photos</h3> <ul class="text-center no-decoration"> <li><a href="/flick/view/42513203125/page/1"><img style="width:95%" class="bordered" src="//farm2.static.flickr.com/1824/42513203125_1b874a4ee3_m.jpg" alt="2018 Oxford Makespace Launch" /></a><br />&nbsp;</li> <li><a href="/flick/view/29546994388/page/1"><img style="width:95%" class="bordered" src="//farm2.static.flickr.com/1829/29546994388_8389197259_m.jpg" alt="2018 Oxford Makespace Launch" /></a><br />&nbsp;</li> <li><a href="/flick/view/29546994858/page/1"><img style="width:95%" class="bordered" src="//farm2.static.flickr.com/1769/29546994858_cb7a8e1199_m.jpg" alt="2018 Oxford Makespace Launch" /></a><br />&nbsp;</li> <li><a href="/flick/view/42513205935/page/1"><img style="width:95%" class="bordered" src="//farm1.static.flickr.com/841/42513205935_2a61034385_m.jpg" alt="2018 Oxford Makespace Launch" /></a><br />&nbsp;</li> <li><a href="/flick/view/42513206325/page/1"><img style="width:95%" class="bordered" src="//farm2.static.flickr.com/1765/42513206325_82bbbe85fb_m.jpg" alt="2018 Oxford Makespace Launch" /></a><br />&nbsp;</li> </ul> <p class="text-center"><a href="/flick/"><em>More photos</em> &raquo;</a></p> </div> <div class="hidden-xs col-sm-4"> <h3>Social Media</h3> <div class="tinytext break-word"> <h4>No recent tweets</h4> <h4>Scrobbles <a href="http://last.fm/user/ciderpunx">ciderpunx</a></h4> <ul class="no-decoration"> <li><a href="https://www.last.fm/music/Wilmoth+Houdini/_/Mama,+Call+the+Fire+Brigade">Wilmoth Houdini - Mama, Call the Fire Brigade</a></li> <li><a href="https://www.last.fm/music/The+Tiger/_/Point+Cumana">The Tiger - Point Cumana</a></li> <li><a href="https://www.last.fm/music/The+Tiger/_/Marabella+Wedding">The Tiger - Marabella Wedding</a></li> <li><a href="https://www.last.fm/music/The+Tiger/_/Bandandea">The Tiger - Bandandea</a></li> <li><a href="https://www.last.fm/music/The+Lion/_/Wanga">The Lion - Wanga</a></li> </ul> </div> </div> </div> </article> </div> <!--/index--> </div> <!--t:footer--> <footer id="footer" class="footer"> <div id="footwrap" class="container"> <ul class="row"> <li class="col-sm-3"> <section> <h3>Onsite links</h3> <!--t:onsite_link_ul--> <ul class="xoxo"> <li><a href="/daily_mail.pl">Daily Mail story generator</a></li> <li><a href="/newsfeed">Newsfeeds</a></li> <li><a href="/page/space_invaders">Space Invaders</a></li> <li><a href="/mills_boon.pl">Statistically probable Mills and Boon stories</a></li> <li><a href="/html_static/real_ultimate_perlgeeks.html">Real Ultimate Perl Geeks</a></li> <li><a href="/rot13">ROT13 Tool</a></li> <li><a href="/about/api">Content API</a></li> <li><a href="/contact_charlie">Contact</a></li> </ul> <!--/onsite_link_ul--> </section> </li> <li class="col-sm-3"> <section> <h3>External links</h3> <!--t:external_link_ul--> <ul class="xoxo"> <li><a href="http://charlie.ox4.org" rel="me">Charlie's Drupal Life Aggregator</a></li> <li><a href="http://perlmonks.org/?node_id=373188" rel="me">Perlmonks page</a></li> <li><a href="http://slashdot.org/~ciderpunk" rel="me">Slashdot page</a></li> <li><a href="https://github.com/ciderpunx">Charlie&#8217;s repositories on github</a></li> </ul> <!--/external_link_ul--> </section> </li> <li class="col-sm-3"> <section> <h3>Friends</h3> <!--t:friend_site_ul--> <ul class="xoxo"> <li><a href="http://ox4.org/" rel="friend co-worker met">OX4: Webhosting for Oxford Activism</a></li> <li><a href="http://newint.org" rel="friend co-worker met">New Internationalist</a></li> <li><a href="http://hacktivista.net/" rel="friend co-worker met">Hacktionlab</a></li> <li><a href="http://eleanorg.org" rel="friend sweetheart date met muse">Nor&#8217;s Page</a></li> <li><a href="http://artfulrobot.com/" rel="friend met">Rich&#8217;s page</a></li> <li><a href="http://oxguin.net" rel="friend met">Graham&#8217;s page</a></li> <li><a href="http://theoarc.org.uk/" rel="friend co-worker met">Oxford Action Resource Centre</a></li> </ul> <!--/friend_site_ul--> </section> </li> <li class="col-sm-3"> <section> <h3>Follow me</h3> <!--t:social_media_ul--> <ul class="xoxo"> <li><a href="http://twitter.com/ciderpunx" rel="me"><div class="sprite32 twitter pull-left"> </div><div class="pull-left"> &nbsp; @ciderpunx</div></a><div class="clear"></div></li> <li><a href="http://flickr.com/photos/charlie_harvey" rel="me"><div class="sprite32 flickr pull-left"></div><div class="pull-left"> &nbsp; flickr</div></a><div class="clear"></div></li> <li><a href="http://uk.linkedin.com/in/charlieharvey"><div class="sprite32 linkedin pull-left"></div><div class="pull-left"> &nbsp; LinkedIn</div></a><div class="clear"></div></li> <li><a href="http://last.fm/user/ciderpunx" rel="me"><div class="sprite32 lastfm pull-left"></div><div class="pull-left"> &nbsp; last.fm</div></a><div class="clear"></div></li> <li><a href="/page/feed/rss" rel="me"><div class="sprite32 rss pull-left"></div><div class="pull-left"> &nbsp; RSS</div></a><div class="clear"></div></li> </ul> <!--/social_media_ul--> </section> </li> </ul> <p id="copyright" class="centre">&copy; Charlie Harvey 2003-2024. You can use the content under the <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">BY-NC-SA</a>. The code is under the <a href="https://www.gnu.org/licenses/agpl-3.0.html">GNU Affero licence</a> and is on <a href="https://github.com/ciderpunx/charlieharvey.org.uk">Github</a>.</p> </div> </footer> <script src="//static.charlieharvey.org.uk/js/min-new.js"></script> <script>// <![CDATA[ $(document).ready(function() { $('code').each(function(i, e) {hljs.highlightBlock(e)}); }); $( "#social-block-toggle" ).click(function() { $( "#social-block" ).slideToggle( "slow", function() { if ($('#social-block-toggle').html()==$('<div/>').html('&#8599').html()) { $('#social-block-toggle').html("&#8601;"); } else{ $('#social-block-toggle').html("&#8599;"); } }); }); $( "#sidebar-toggle" ).click(function() { $( "#sidebar" ).slideToggle( "slow", function() { if ($('#sidebar-toggle').html()==$('<div/>').html('&#8599').html()) { $('#sidebar-toggle').html("&#8601;"); } else{ $('#sidebar-toggle').html("&#8599;"); } }); }); // ]]></script> <script>// <![CDATA[ var _paq = _paq || []; _paq.push(["setCookieDomain", "*.charlieharvey.org.uk"]); _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function() { var u=(("https:" == document.location.protocol) ? "https" : "http") + "://piwik.charlieharvey.org.uk/"; _paq.push(["setTrackerUrl", u+"piwik.php"]); _paq.push(["setSiteId", "1"]); var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); })(); // ]]> </script> <!--/footer--> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10