CINXE.COM

Archive for Tuesday, 1st January 2008

<!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/2008/Jan/1/"> <title>Archive for Tuesday, 1st January 2008</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">Tuesday, 1st January 2008</h2> <div class="blogmark segment" data-type="blogmark" data-id="3574"> <p><strong><a href="http://blog.michaeltrier.com/tags/twid">This Week in Django podcast</a></strong>. Michael Trier鈥檚 been doing a really fantastic job putting together a Django podcast. The most recent episode (number 4) includes an update on the newforms-admin branch and a couple of handy tips.</p> <p class="date-and-tags"><a href="/2008/Jan/1/django/" rel="bookmark">#</a> <a href="/2008/Jan/1/django/">10:44 am</a> / <a href="/tags/django/">django</a>, <a href="/tags/michael-trier/">michael-trier</a>, <a href="/tags/thisweekindjango/">thisweekindjango</a>, <a href="/tags/python/">python</a>, <a href="/tags/podcasts/">podcasts</a>, <a href="/tags/django-admin/">django-admin</a></p> </div> <div class="quote segment" data-type="quotation" data-id="155"> <blockquote cite="http://radar.oreilly.com/archives/2007/12/google_knol_trading_own_account.html"><p>Everyone applauds when Google goes after Microsoft's Office monopoly [...] but when they start to go after web non-profits like Wikipedia, you see where the ineluctible logic leads. As Google's growth slows, as inevitably it will, it will need to consume more and more of the web ecosystem, trading against its former suppliers, rather than distributing attention to them.</p></blockquote> <p class="cite">&mdash; <a href="http://radar.oreilly.com/archives/2007/12/google_knol_trading_own_account.html">Tim O&#x27;Reilly</a></span></p> <p class="date-and-tags"> <a href="/2008/Jan/1/trading/" rel="bookmark">#</a> <a href="/2008/Jan/1/trading/">11:29 am</a> / <a href="/tags/tim-oreilly/">tim-oreilly</a>, <a href="/tags/google/">google</a>, <a href="/tags/microsoft/">microsoft</a>, <a href="/tags/wikipedia/">wikipedia</a>, <a href="/tags/competition/">competition</a> </p> </div> <div class="blogmark segment" data-type="blogmark" data-id="3575"> <p><strong><a href="http://www.akitaonrails.com/2008/1/1/chatting-with-adrian-holovaty">Chatting with Adrian Holovaty</a></strong>. Fabio Akita interviews Adrian about Django and related topics.</p> <p class="date-and-tags"><a href="/2008/Jan/1/akita/" rel="bookmark">#</a> <a href="/2008/Jan/1/akita/">11:44 am</a> / <a href="/tags/django/">django</a>, <a href="/tags/adrian-holovaty/">adrian-holovaty</a>, <a href="/tags/python/">python</a>, <a href="/tags/fabioakita/">fabioakita</a></p> </div> <div class="blogmark segment" data-type="blogmark" data-id="3576"> <p><strong><a href="http://www.sitepoint.com/article/javascript-just-not-validation">JavaScript: It鈥檚 Just Not Validation!</a></strong> I like the explanation of JavaScript as offering input assistance rather than validation.</p> <p class="date-and-tags"><a href="/2008/Jan/1/javascript/" rel="bookmark">#</a> <a href="/2008/Jan/1/javascript/">12:07 pm</a> / <a href="/tags/javascript/">javascript</a>, <a href="/tags/validation/">validation</a>, <a href="/tags/sitepoint/">sitepoint</a>, <a href="/tags/inputassistance/">inputassistance</a></p> </div> <div class="blogmark segment" data-type="blogmark" data-id="3577"> <p><strong><a href="http://www.cdolivet.net/editarea/">EditArea</a></strong>. Impressive JavaScript source code editor, with syntax highlighting, brace matching, search and replace and more.</p> <p class="date-and-tags"><a href="/2008/Jan/1/editarea/" rel="bookmark">#</a> <a href="/2008/Jan/1/editarea/">12:09 pm</a> / <a href="/tags/javascript/">javascript</a>, <a href="/tags/editarea/">editarea</a>, <a href="/tags/syntaxhighlighting/">syntaxhighlighting</a>, <a href="/tags/bracematching/">bracematching</a>, <a href="/tags/editor/">editor</a></p> </div> <div class="quote segment" data-type="quotation" data-id="156"> <blockquote cite="http://interconnected.org/home/2007/12/28/wrapping_up_2007"><p>The technological future of the Web is in micro and macro structure. The approach to the micro is akin to proteins and surface binding--or, to put it another way, phenotropics and pattern matching. Massively parallel agents need to be evolved to discover how to bind onto something that looks like a blog post; a crumb-trail; a right-hand nav; a top 10 list; a review; an event description; search boxes.</p></blockquote> <p class="cite">&mdash; <a href="http://interconnected.org/home/2007/12/28/wrapping_up_2007">Matt Webb</a></span></p> <p class="date-and-tags"> <a href="/2008/Jan/1/webb/" rel="bookmark">#</a> <a href="/2008/Jan/1/webb/">12:13 pm</a> / <a href="/tags/matt-webb/">matt-webb</a>, <a href="/tags/web/">web</a>, <a href="/tags/microformats/">microformats</a>, <a href="/tags/phenotropics/">phenotropics</a>, <a href="/tags/patternmatching/">patternmatching</a>, <a href="/tags/ai-agents/">ai-agents</a> </p> </div> </div> <!-- #primary --> <div id="secondary"> <div class="metabox"> <p><a href="/2008/">2008</a> &raquo; <a href="/2008/Jan/">January</a></p> <table class="monthcalendar"> <tr><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th><th>S</th></tr><tr><td>&nbsp;</td><td style="background-color: rgb(215, 207, 224)" class="today"><a href="/2008/Jan/1/" title="4 blogmarks, 2 quotations">1</a></td><td style="background-color: rgb(248, 247, 249)"><a href="/2008/Jan/2/" title="1 blogmark">2</a></td><td style="background-color: rgb(222, 215, 229)"><a href="/2008/Jan/3/" title="3 blogmarks, 2 quotations">3</a></td><td style="background-color: rgb(215, 207, 224)"><a href="/2008/Jan/4/" title="4 blogmarks, 2 quotations">4</a></td><td style="background-color: rgb(255, 255, 255)">5</td><td style="background-color: rgb(228, 223, 234)"><a href="/2008/Jan/6/" title="4 blogmarks">6</a></td></tr><tr><td style="background-color: rgb(195, 183, 208)"><strong><a href="/2008/Jan/7/" title="7 blogmarks, 1 entry">7</a></strong></td><td style="background-color: rgb(241, 239, 244)"><a href="/2008/Jan/8/" title="2 blogmarks">8</a></td><td style="background-color: rgb(222, 215, 229)"><a href="/2008/Jan/9/" title="4 blogmarks, 1 quotation">9</a></td><td style="background-color: rgb(241, 239, 244)"><a href="/2008/Jan/10/" title="1 blogmark, 1 quotation">10</a></td><td style="background-color: rgb(248, 247, 249)"><a href="/2008/Jan/11/" title="1 blogmark">11</a></td><td style="background-color: rgb(235, 231, 239)"><a href="/2008/Jan/12/" title="2 blogmarks, 1 quotation">12</a></td><td style="background-color: rgb(241, 239, 244)"><a href="/2008/Jan/13/" title="1 blogmark, 1 quotation">13</a></td></tr><tr><td style="background-color: rgb(228, 223, 234)"><a href="/2008/Jan/14/" title="4 blogmarks">14</a></td><td style="background-color: rgb(248, 247, 249)"><a href="/2008/Jan/15/" title="1 blogmark">15</a></td><td style="background-color: rgb(222, 215, 229)"><a href="/2008/Jan/16/" title="5 blogmarks">16</a></td><td style="background-color: rgb(202, 191, 213)"><a href="/2008/Jan/17/" title="6 blogmarks, 2 quotations">17</a></td><td style="background-color: rgb(222, 215, 229)"><a href="/2008/Jan/18/" title="3 blogmarks, 2 quotations">18</a></td><td style="background-color: rgb(222, 215, 229)"><a href="/2008/Jan/19/" title="5 blogmarks">19</a></td><td style="background-color: rgb(241, 239, 244)"><a href="/2008/Jan/20/" title="2 blogmarks">20</a></td></tr><tr><td style="background-color: rgb(235, 231, 239)"><a href="/2008/Jan/21/" title="3 blogmarks">21</a></td><td style="background-color: rgb(189, 175, 203)"><a href="/2008/Jan/22/" title="7 blogmarks, 3 quotations">22</a></td><td style="background-color: rgb(163, 143, 183)"><strong><a href="/2008/Jan/23/" title="11 blogmarks, 1 entry, 1 quotation">23</a></strong></td><td style="background-color: rgb(228, 223, 234)"><strong><a href="/2008/Jan/24/" title="2 blogmarks, 1 entry">24</a></strong></td><td style="background-color: rgb(222, 215, 229)"><a href="/2008/Jan/25/" title="4 blogmarks, 1 quotation">25</a></td><td style="background-color: rgb(235, 231, 239)"><a href="/2008/Jan/26/" title="3 blogmarks">26</a></td><td style="background-color: rgb(255, 255, 255)">27</td></tr><tr><td style="background-color: rgb(248, 247, 249)"><a href="/2008/Jan/28/" title="1 blogmark">28</a></td><td style="background-color: rgb(235, 231, 239)"><a href="/2008/Jan/29/" title="2 blogmarks, 1 quotation">29</a></td><td style="background-color: rgb(235, 231, 239)"><a href="/2008/Jan/30/" title="3 blogmarks">30</a></td><td style="background-color: rgb(255, 255, 255)">31</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></table> </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> 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