CINXE.COM

Archive for 2005

<!DOCTYPE html> <html lang="en-gb"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="canonical" href="https://simonwillison.net/2005/"> <title>Archive for 2005</title> <script defer data-domain="simonwillison.net" src="https://plausible.io/js/plausible.js"></script> <link rel="alternate" type="application/atom+xml" title="Atom" href="/atom/everything/"> <link rel="stylesheet" type="text/css" href="/static/css/all.css"> <link rel="webmention" href="https://webmention.io/simonwillison.net/webmention"> <link rel="pingback" href="https://webmention.io/simonwillison.net/xmlrpc"> <meta name="author" content="Simon Willison"> <meta property="og:site_name" content="Simon Willison鈥檚 Weblog"> </head> <body class="smallhead"> <div id="smallhead"> <div id="smallhead-inner"> <h1><a href="/">Simon Willison鈥檚 Weblog</a></h1> <a id="smallhead-about" href="/about/#subscribe">Subscribe</a> </div> </div><!-- #smallhead --> <div id="wrapper"> <div id="primary"> <h2 class="archive-h2">Archive for 2005</h2> <div class="entry"> <ul> <li><strong><a href="/2005/Jan/">January</a></strong> - 6 entries, 91 links <ul> <li><a href="/2005/Jan/5/swissMaps/">map.search.ch</a></li> <li><a href="/2005/Jan/8/greasemonkey/">Fixing MSDN with Greasemonkey</a></li> <li><a href="/2005/Jan/16/i-need-a-new-backpack/">I need a new backpack</a></li> <li><a href="/2005/Jan/17/relNoFollow/">rel=&quot;nofollow&quot;</a></li> <li><a href="/2005/Jan/20/eclipse/">New eclipse downloads page</a></li> <li><a href="/2005/Jan/26/ffs/">Don&#x27;t build web apps that only work in IE</a></li> </ul> </li> <li><strong><a href="/2005/Feb/">February</a></strong> - 3 entries, 95 links <ul> <li><a href="/2005/Feb/8/maps/">Google Maps and XSL</a></li> <li><a href="/2005/Feb/17/do-content-management-systems-really/">Do Content Management Systems really work?</a></li> <li><a href="/2005/Feb/24/cruft/">Google cruft</a></li> </ul> </li> <li><strong><a href="/2005/Mar/">March</a></strong> - 6 entries, 74 links <ul> <li><a href="/2005/Mar/1/luglive/">LugRadio Live</a></li> <li><a href="/2005/Mar/4/trac/">Problems with Trac? Switch to FSFS</a></li> <li><a href="/2005/Mar/11/footnotes/">Fixing Paul Graham&#x27;s Footnotes</a></li> <li><a href="/2005/Mar/18/quotes/">Choice SxSW quotes</a></li> <li><a href="/2005/Mar/28/pycon/">PyCon observations</a></li> <li><a href="/2005/Mar/30/lightweight/">Greasemonkey as a lightweight intermediary</a></li> </ul> </li> <li><strong><a href="/2005/Apr/">April</a></strong> - 7 entries, 119 links <ul> <li><a href="/2005/Apr/8/hedgehog/">Enter the hedgehog</a></li> <li><a href="/2005/Apr/10/lickr/">Flickr without the Flash</a></li> <li><a href="/2005/Apr/11/etiquette/">Greasemonkey etiquette</a></li> <li><a href="/2005/Apr/14/fud/">Greasemonkey FUD</a></li> <li><a href="/2005/Apr/16/console/">Safari 1.3 has a JavaScript Console</a></li> <li><a href="/2005/Apr/19/useful/">Why the term Ajax is useful</a></li> <li><a href="/2005/Apr/28/firefox/">A Firefox observation</a></li> </ul> </li> <li><strong><a href="/2005/May/">May</a></strong> - 5 entries, 42 links <ul> <li><a href="/2005/May/4/spotlight/">Giving away the index</a></li> <li><a href="/2005/May/6/bad/">Fighting RFCs with RFCs</a></li> <li><a href="/2005/May/21/eurovision/">Eurovision scores</a></li> <li><a href="/2005/May/23/ixr/">Testing a new version of IXR</a></li> <li><a href="/2005/May/24/fixing/">Fixing web applications with Greasemonkey</a></li> </ul> </li> <li><strong><a href="/2005/Jun/">June</a></strong> - 5 entries, 29 links <ul> <li><a href="/2005/Jun/3/book/">Stuart&#x27;s book</a></li> <li><a href="/2005/Jun/3/social/">Staying social</a></li> <li><a href="/2005/Jun/6/wikipedia/">Tweaking Wikipedia</a></li> <li><a href="/2005/Jun/20/space-shuttle-columbia-accident/">Space Shuttle Columbia Accident</a></li> <li><a href="/2005/Jun/26/lugradiolive/">LUG Radio Live</a></li> </ul> </li> <li><strong><a href="/2005/Jul/">July</a></strong> - 5 entries, 42 links <ul> <li><a href="/2005/Jul/8/london/">London</a></li> <li><a href="/2005/Jul/8/toolbar/">Dissecting the Google Firefox Toolbar</a></li> <li><a href="/2005/Jul/10/less/">Less code is more</a></li> <li><a href="/2005/Jul/17/django/">Introducing Django</a></li> <li><a href="/2005/Jul/20/vulnerability/">Understanding the Greasemonkey vulnerability</a></li> </ul> </li> <li><strong><a href="/2005/Aug/">August</a></strong> - 3 entries, 15 links <ul> <li><a href="/2005/Aug/3/django/">Exciting developments with Django</a></li> <li><a href="/2005/Aug/15/request/">How Django processes a request</a></li> <li><a href="/2005/Aug/18/meetup/">Django and Rails London meetup</a></li> </ul> </li> <li><strong><a href="/2005/Sep/">September</a></strong> - 6 entries, 35 links <ul> <li><a href="/2005/Sep/7/poland/">Poland, Dvorak and Broadband woes</a></li> <li><a href="/2005/Sep/8/email/">Change of e-mail address</a></li> <li><a href="/2005/Sep/11/firefox15/">Firefox 1.5 developer highlights</a></li> <li><a href="/2005/Sep/17/monkeyfun/">More fun with the monkey</a></li> <li><a href="/2005/Sep/21/yahoo/">Working for Yahoo!</a></li> <li><a href="/2005/Sep/26/maintainability/">Maintainability, a.k.a. the CSS elephant</a></li> </ul> </li> <li><strong><a href="/2005/Oct/">October</a></strong> - 2 entries, 39 links <ul> <li><a href="/2005/Oct/5/canvas/">Canvas demos</a></li> <li><a href="/2005/Oct/24/eurooscon/">Things I learned at EuroOSCON</a></li> </ul> </li> <li><strong><a href="/2005/Nov/">November</a></strong> - 5 entries, 55 links <ul> <li><a href="/2005/Nov/1/destiny/">Taking charge of your own destiny</a></li> <li><a href="/2005/Nov/3/maps/">Yahoo!&#x27;s new twist on mapping APIs</a></li> <li><a href="/2005/Nov/9/orange/">Social engineering and Orange</a></li> <li><a href="/2005/Nov/16/base/">Google Base is interesting</a></li> <li><a href="/2005/Nov/24/speaking/">Notes on public speaking</a></li> </ul> </li> <li><strong><a href="/2005/Dec/">December</a></strong> - 4 entries, 29 links <ul> <li><a href="/2005/Dec/1/webby/">Have a webby Christmas</a></li> <li><a href="/2005/Dec/7/dont-be-eval/">Don&#x27;t be eval()</a></li> <li><a href="/2005/Dec/16/json/">JSON and Yahoo!&#x27;s JavaScript APIs</a></li> <li><a href="/2005/Dec/28/get-tickets-for-filming-of/">Get tickets for filming of Jools Holland&#x27;s TV show</a></li> </ul> </li> </ul> </div> </div> <!-- #primary --> <div id="secondary"> <div class="metabox"> <p><a href="/2002/">2002</a> / <a href="/2003/">2003</a> / <a href="/2004/">2004</a> / <a href="/2005/">2005</a> / <a href="/2006/">2006</a> / <a href="/2007/">2007</a> / <a href="/2008/">2008</a> / <a href="/2009/">2009</a> / <a href="/2010/">2010</a> / <a href="/2011/">2011</a> / <a href="/2012/">2012</a> / <a href="/2013/">2013</a> / <a href="/2014/">2014</a> / <a href="/2015/">2015</a> / <a href="/2016/">2016</a> / <a href="/2017/">2017</a> / <a href="/2018/">2018</a> / <a href="/2019/">2019</a> / <a href="/2020/">2020</a> / <a href="/2021/">2021</a> / <a href="/2022/">2022</a> / <a href="/2023/">2023</a> / <a href="/2024/">2024</a> / <a href="/2025/">2025</a></p> </div> </div> <!-- #secondary --> </div> <!-- #wrapper --> <div id="ft"> <ul> <li><a href="/about/#about-site">Colophon</a></li> <li>&copy;</li> <li><a href="/2002/">2002</a></li> <li><a href="/2003/">2003</a></li> <li><a href="/2004/">2004</a></li> <li><a href="/2005/">2005</a></li> <li><a href="/2006/">2006</a></li> <li><a href="/2007/">2007</a></li> <li><a href="/2008/">2008</a></li> <li><a href="/2009/">2009</a></li> <li><a href="/2010/">2010</a></li> <li><a href="/2011/">2011</a></li> <li><a href="/2012/">2012</a></li> <li><a href="/2013/">2013</a></li> <li><a href="/2014/">2014</a></li> <li><a href="/2015/">2015</a></li> <li><a href="/2016/">2016</a></li> <li><a href="/2017/">2017</a></li> <li><a href="/2018/">2018</a></li> <li><a href="/2019/">2019</a></li> <li><a href="/2020/">2020</a></li> <li><a href="/2021/">2021</a></li> <li><a href="/2022/">2022</a></li> <li><a href="/2023/">2023</a></li> <li><a href="/2024/">2024</a></li> <li><a href="/2025/">2025</a></li> </ul> </div> <script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js" integrity="sha256-8glLv2FBs1lyLE/kVOtsSw8OQswQzHr5IfwVj864ZTk=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/d3-cloud@1.2.7/build/d3.layout.cloud.min.js" integrity="sha512-QOn5z8Fa63hvHWmu7Sp8XEAocATKiS8KcQRuLKNGS4+vi9oWH0ajPtb8ugJYP5JDxK56lX7/R1VlBNaUU2qc6g==" crossorigin="anonymous"></script> <script> document.addEventListener("DOMContentLoaded", function() { var firstH2 = document.querySelector('h2'); var newDiv = document.createElement('div'); newDiv.setAttribute('id', 'tag-cloud'); firstH2.insertAdjacentElement('afterend', newDiv); fetch('/dashboard/tag-cloud-by-year.json?year=2005') .then(response => response.json()) .then(data => { var wordcloudData = data.queries[0].rows; var minScore = Math.min(...wordcloudData.map(w => w.wordcloud_count)); var maxScore = Math.max(...wordcloudData.map(w => w.wordcloud_count)); var fontScale = d3.scaleLinear() .domain([minScore, maxScore]) .range([20, 100]); var fill = [ "#4a6fa5", "#c47e5c", "#5b8c5a", "#9e4a54", "#7d6d9f", "#b59a74", "#d4a5a5", "#7c858e", "#a2a775", "#5e8b8c" ]; function draw(words) { var svg = d3.select("#tag-cloud").append("svg") .attr("width", layout.size()[0]) .attr("height", layout.size()[1]); var g = svg.append("g") .attr("transform", "translate(" + layout.size()[0] / 2 + "," + layout.size()[1] / 2 + ")"); var wordGroups = g.selectAll("g") .data(words) .enter().append("g") .attr("transform", function(d) { return "translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")"; }); wordGroups.append("a") .attr("xlink:href", function(d) { return `/search/?tag=${encodeURIComponent(d.text)}&year=2005` }) .append("text") .style("font-size", function(d) { return d.size + "px"; }) .style("font-family", "Impact") .style("fill", function(d, i) { return fill[i % fill.length]; }) .attr("text-anchor", "middle") .text(function(d) { return d.text; }); } var wordData = wordcloudData.map(function(d) { return {text: d.wordcloud_word, size: d.wordcloud_count}; }); var layout = d3.layout.cloud() .size([document.querySelector('#tag-cloud').getBoundingClientRect().width, 300]) .words(wordData) .rotate(function() { return (~~(Math.random() * 6) - 3) * 30; }) .padding(5) .font("Impact") .fontSize(function(d) { return fontScale(d.size); }) .on("end", draw); layout.start(); }) .catch(error => { console.error('Error fetching data:', error); }); }); </script> <script> document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('h4[id],h5[id],h6[id]').forEach(el => { const id = el.getAttribute('id'); const permalinkContext = el.closest('[data-permalink-context]'); if (permalinkContext) { const url = permalinkContext.getAttribute('data-permalink-context'); const hashLink = document.createElement('a'); hashLink.style.borderBottom = 'none'; hashLink.style.color = '#666'; hashLink.style.fontSize = '1em'; hashLink.style.opacity = 0.8; hashLink.setAttribute('href', url + '#' + id); hashLink.innerText = '#'; el.appendChild(document.createTextNode(' ')); el.appendChild(hashLink); } }); }); </script> <script type="module"> const config = [ {"tag": "lite-youtube", "js": "/static/lite-yt-embed.js", "css": "/static/lite-yt-embed.css"} ]; for (const {tag, js, css} of config) { if (document.querySelector(tag)) { if (css) { document.head.appendChild( Object.assign(document.createElement('link'), { rel: 'stylesheet', href: css }) ); } if (js) { await import(js); } } } </script> </body> </html>

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