<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Joe Walker - blogging tag</title>
  <link>http://directwebremoting.org/blog/joe/tags/blogging/</link>
  <description>Thoughts on Web Development</description>
  <language>en</language>
  <copyright>Joe Walker</copyright>
  <lastBuildDate>Wed, 23 Jul 2008 11:00:41 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Useful Feeds</title>
    <link>http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html</link>
    
      
        <description>
          &lt;p&gt;How many blog posts start with the words &#034;&lt;em&gt;Sorry I&#039;ve not been blogging much recently, but I resolve to post more often from now&lt;/em&gt;&#034;. Such a post may be followed by some actual substance, before the silence re-starts.&lt;/p&gt;

&lt;p&gt;This is not one of those posts.&lt;/p&gt;

&lt;p&gt;Getahead used to be the only place I blogged, but I&#039;ve infected a few other feeds. I generally don&#039;t spend ages linking from one blog to another - I figure you can subscribe to the others if you want that content, however you can&#039;t do that if you don&#039;t know they exist.&lt;/p&gt;

&lt;p&gt;I&#039;m not closing this blog down, however I expect to blog less here. The good news, however, is that I hope that means that the subject-to-noise ratio will go up and not down. Stay tuned.&lt;/p&gt;

&lt;p&gt;Both of these blogs are multi-author, &#039;professional&#039; blogs. By professional, I mean peer-reviewed posts and no cat pictures - you can get those &lt;a href=&#034;http://icanhascheezburger.com/&#034;&gt;elsewhere&lt;/a&gt;.&lt;/p&gt;

&lt;a href=&#034;http://cometdaily.com/&#034;&gt;&lt;img src=&#034;http://cometdaily.com/wp-content/themes/cometdaily/images/cometDailyLogo.gif&#034; style=&#034;border:0;padding-top:20px;&#034;/&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href=&#034;http://cometdaily.com/&#034;&gt;CometDaily&lt;/a&gt; is written by the people that have spent the most time working on Comet. I&#039;ve been busy this week so:...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://cometdaily.com/2008/05/22/on-board-vs-off-board-comet/&#034;&gt;On-board vs. Off-board Comet&lt;/a&gt;&lt;/strong&gt; is about 2 architectural styles around how to deploy comet. DWR typifies one style. It&#039;s taken (in part) from the Comet BOF that Alex and I did at JavaOne.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://cometdaily.com/2008/05/20/comet-and-cross-site-scripting/&#034;&gt;Comet and Cross-Site Scripting&lt;/a&gt;&lt;/strong&gt; is about how comet could supercharge a web worm so it becomes more virulent than a Warhol Worm. Samy took MySpace down with a web worm in 23 hours. I think it might be possible to reduce this time to about 6 seconds.&lt;/p&gt;

&lt;a href=&#034;http://www.sitepen.com/blog&#034;&gt;&lt;img src=&#034;http://getahead.org/images/sitepen-logo.png&#034; style=&#034;border:0;padding-top:20px;&#034;/&gt;&lt;/a&gt;

&lt;p&gt;I work for &lt;a href=&#034;http://www.sitepen.com/&#034;&gt;SitePen&lt;/a&gt; along with a long list of similar techies. &lt;a href=&#034;http://www.sitepen.com/blog&#034;&gt;Our blog&lt;/a&gt; generally one post per day, about Ajax, Dojo, DWR and Comet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://www.sitepen.com/blog/2008/05/22/comet-and-java/&#034;&gt;Servlet Spec, Comet and Java&lt;/a&gt;&lt;/strong&gt; is about how to work around Java&#039;s servlet spec to avoid needlessly chewing up threads. It looks at the options provided by Jetty, Grizzy, Tomcat and the new Servlet Spec.&lt;/p&gt;

&lt;a href=&#034;http://twitter.com/joewalker&#034;&gt;&lt;img src=&#034;http://assets2.twitter.com/images/twitter.png&#034; style=&#034;border:0;padding-top:20px;&#034;/&gt;&lt;/a&gt;

&lt;p&gt;And clearly, like everyone else, I &lt;a href=&#034;http://twitter.com/joewalker&#034;&gt;tweet from time to time&lt;/a&gt;. In between tweeting, like everyone else, I mostly complain about how I can&#039;t tweet because Twitter is so unreliable.&lt;/p&gt;

&lt;p&gt;Still no cat pictures, but I don&#039;t get peer reviews on my tweets.&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2008/05/23/useful_feeds.html</guid>
    <pubDate>Fri, 23 May 2008 11:59:17 GMT</pubDate>
  </item>
  
  <item>
    <title>Killing Blog Spam without Captcha</title>
    <link>http://directwebremoting.org/blog/joe/2007/01/18/killing_blog_spam_without_captcha.html</link>
    
      
        <description>
          &lt;img src=&#034;http://getahead.ltd.uk/images/nospam.png&#034; align=&#034;right&#034; style=&#034;padding:20px;&#034;/&gt;

&lt;p&gt;There are a few alternatives to Captcha - there is a nice trick that &lt;a href=&#034;http://damienkatz.net/2007/01/negative_captch.html&#034;&gt;Damien Katz recently blogged about&lt;/a&gt;. It&amp;#39;s ultimately doomed, because a spammer can easily adapt, but it is neat and it&amp;#39;s working for now.&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve been mulling over a couple of ideas with &lt;a href=&#034;http://rifers.org/blogs/gbevin&#034;&gt;Geert&lt;/a&gt; who was thinking of implementing the first for his &lt;a href=&#034;http://rifers.org/paste&#034;&gt;Paste Bin&lt;/a&gt; site.&lt;/p&gt;

&lt;h2&gt;1. Use unpredictable form field names&lt;/h2&gt;

&lt;p&gt;When the user clicks on the &amp;quot;add comment&amp;quot; button, a comment form is presented with the usual fields: Name, Email, Website and Comment. The form fields however do not have predictable names. Instead, the fields are generated from some user-derived secret - maybe something stored in the users session. The important thing is that the field names are predictable to the server, but unpredictable to the user.&lt;/p&gt;

&lt;p&gt;The server can then easily work out which field values relate to which input field, but the only thing you have to go on as far as HTTP stream goes is visually what labels are next to what fields, and there are plenty of ways to obscure this in HTTP. You can even alter the field ordering at runtime to make life even harder.&lt;/p&gt;

&lt;p&gt;In order to submit the spam now, the spamming tool will need to manage cookies, visit a set of pages, and then guess which field names relate to which fields. This could be used in conjunction with fields hidden using CSS to make the guesswork near impossible.&lt;/p&gt;

&lt;h2&gt;2. Process the form with JavaScript&lt;/h2&gt;

&lt;p&gt;If the onsubmit process requires some JavaScript computation then the spammer will need to include a JavaScript engine in their toolkit for the post to be accepted. While it&amp;#39;s possible that spammers could do this, maybe we can use this to slow them down to the point where it becomes less of a problem.&lt;/p&gt;

&lt;p&gt;We dynamically create a short bit of Javascript that asks the posters browser to compute the factorials of some small prime. We can adjust the size of the prime to dictate the length of the required computation. The computation can be happening in the background while the post is being written.&lt;/p&gt;

&lt;p&gt;I suspect that this method is slightly flawed because spammers will be using some bot-net to perform the attack, so slowing the submit rate down by 2 or 3 orders of magnitude isn&amp;#39;t a big deal, they&amp;#39;ll just use bigger bot-nets.&lt;/p&gt;

&lt;p&gt;However the annoyance of having to include a Javascript engine in the spamming toolkit could easily stop all but the most persistent spammers.&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2007/01/18/killing_blog_spam_without_captcha.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2007/01/18/killing_blog_spam_without_captcha.html</guid>
    <pubDate>Thu, 18 Jan 2007 06:45:58 GMT</pubDate>
  </item>
  
  <item>
    <title>Review of top blog posts this year</title>
    <link>http://directwebremoting.org/blog/joe/2006/12/28/review_of_top_blog_posts_this_year.html</link>
    
      
        <description>
          &lt;p&gt;Out of the 100+ posts on this blog, these are the best from 2006 and some interesting notes on why:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;While I generally think that &#039;opinion&#039; blog posts are more interesting than &#039;news&#039; blog posts, news is more likely to get people linking to you (so long as you are the source of some news). So my most visited post was my &lt;a href=&#034;http://www.getahead.ltd.uk/blog/joe/2006/12/07/dwr_2_0_release_candidate_1.html&#034;&gt;announcement of DWR 2.0RC1&lt;/a&gt;, because it was linked from everywhere.&lt;/li&gt;

&lt;li&gt;Hot Tip for getting more search action: Use the keyword &#034;review&#034; in a blog post header. It&#039;s something people search for, but not something that people commonly use in writing reviews. For a long time &lt;a href=&#034;http://www.getahead.ltd.uk/blog/joe/2005/07/29/ie7_reviews.html&#034;&gt;this ie7 article&lt;/a&gt; was a top hit for the search phrase &lt;a href=&#034;http://www.google.co.uk/search?q=ie7+review&#034;&gt;&lt;code&gt;ie7 review&lt;/code&gt;&lt;/a&gt;, mostly due to lack of competition.&lt;/li&gt;

&lt;li&gt;My post on &lt;a href=&#034;http://www.getahead.ltd.uk/blog/joe/2006/03/01/architect_level_interview_questions.html&#034;&gt;Architect Level Interview Questions&lt;/a&gt; continues to get lots of link and search love. Looking back, I think the questions are probably a bit slanted towards the technical angle a bit too much. What do you think?&lt;/li&gt;

&lt;li&gt;More people have commented to me personally about the &lt;a href=&#034;http://www.getahead.ltd.uk/blog/joe/2006/10/25/airport_security_explain_this.html&#034;&gt;Airport Security article&lt;/a&gt;, which is bizarre because I usually stick to Java / Ajax topics. It&#039;s also got quite a few comments (for me at least) so it appears to be quite popular.&lt;li&gt;

&lt;li&gt;Lots of people wanting to know about which Apache/Tomcat connector to use get directed towards my &lt;a href=&#034;http://getahead.ltd.uk/blog/joe/2006/02/01/mod_jk_is_dead_long_live_mod_proxy_ajp.html&#034;&gt;&#034;mod_jk is dead&#034;&lt;/a&gt; post, which questions mod_proxy_ajp. At least my post has lots of links to help people find what they really want.&lt;/li&gt;

&lt;li&gt;One of my favourites is my post about the &lt;a href=&#034;http://getahead.ltd.uk/blog/joe/2006/03/09/3_myths_of_ajax_and_accessibility.html&#034;&gt;Myths of Ajax and Accessibility&lt;/a&gt;. The post used to have a huge comment spam problem, so I&#039;ve only just re-enabled comments. The post has a sister in my post about &lt;a href=&#034;http://getahead.ltd.uk/blog/joe/2006/11/24/dive_into_accessibility_vs_w3c_wcag_vs_rnib.html&#034;&gt;contradictory accessibity advice&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;The prize for my most under-rated post is on &lt;a href=&#034;http://getahead.ltd.uk/blog/joe/2005/09/28/writing_malicious_code_in_java.html&#034;&gt;Writing Malicious Code in Java&lt;/a&gt;. The &#034;answer&#034; was given by Zsolt. I&#039;ve temporarily removed his post so you can read the comments for clues if you want.&lt;/li&gt;

&lt;/ul&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2006/12/28/review_of_top_blog_posts_this_year.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2006/12/28/review_of_top_blog_posts_this_year.html</guid>
    <pubDate>Thu, 28 Dec 2006 12:07:52 GMT</pubDate>
  </item>
  
  <item>
    <title>HTTP-301 for RSS</title>
    <link>http://directwebremoting.org/blog/joe/2006/05/10/http_301_for_rss.html</link>
    
      
        <description>
          &lt;a href=&#034;http://getahead.ltd.uk/dwr/&#034;&gt;&lt;img src=&#034;http://getahead.ltd.uk/images/autoresubscribe.png&#034; align=&#034;right&#034; style=&#034;margin:10px 10px&#034; border=&#034;0&#034;/&gt;&lt;/a&gt;

&lt;p&gt;RSS feeds are way too static. A blogger can’t easily change feed URL without the co-operation of their entire subscriber base.&lt;/p&gt;

&lt;p&gt;2 examples:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#034;http://scobleizer.wordpress.com/&#034;&gt;Robert Scoble&lt;/a&gt; &lt;a href=&#034;http://radio.weblogs.com/0001011/2005/11/27.html#a11433&#034;&gt;changed&lt;/a&gt; his feed URL, and six months later his subscriber count is under half of his original subscriber count (according to Bloglines). I&#039;m sure Robert would have loved to have automatically moved the thousands of subscribers to his new blog automatically, and I would prefer not to need to re-subscribe.&lt;/p&gt;

&lt;p&gt;Russell Beattie decided to stop blogging, but his several thousand subscribers couldn&#039;t be bothered to unsubscribe - and why would they; he might start blogging again, and anyway it&#039;s only a hassle to unsubscribe. However for Russell, this means his server gets perpetually swamped by hundreds of update checks for an update that will probably never happen.&lt;/p&gt;

&lt;p&gt;The reality of the situation is that you can&#039;t change your feed URL without a huge effort. How long does it take one person to change the feed URL for one blog? Maybe 30 secs or less if you are quick, but the average is probably longer and it depends a lot on how simple your aggregator it. So it&#039;s easy to understand why people don&#039;t bother, and that&#039;s if they noticed the &#034;re-subscribe over there&#034; message in the first place.&lt;/p&gt;

&lt;p&gt;I&#039;m sure Robert would like to aggregate his 2 subscriber lists. I&#039;m sure Russell would really quite like to point his subscribers at a holding blog hosted somewhere else so he doesn&#039;t get the traffic and maybe that even gives him the option to start again at a later date.&lt;/p&gt;

&lt;p&gt;These problems make sites like Feedburner both very valuable and a &#034;sell your soul&#034; type service. But what happens if Feedburner gets greedy? Maybe the Feedburner servers get &#034;overloaded&#034; and it takes a long time for your updates to get propagated, and maybe they introduce a premium service to help people get the word out fast. Would you want to pay? If your feed URL is very hard to change don&#039;t you want to control it yourself?&lt;/p&gt;

&lt;p&gt;These problems are compounded by the how ill defined your feed URL actually is. The RSS feed I’d prefer people to use for my blog is &lt;a href=&#034;http://getahead.ltd.uk/blog/joe/rss.xml&#034;&gt;http://getahead.ltd.uk/blog/joe/rss.xml&lt;/a&gt; but you can also get it via &lt;a href=&#034;http://www.getahead.ltd.uk/blog/joe/rss.xml&#034;&gt;http://www.getahead.ltd.uk/blog/joe/rss.xml&lt;/a&gt; or &lt;a href=&#034;http://getahead.ltd.uk/blog/joe/atom.xml&#034;&gt;http://getahead.ltd.uk/blog/joe/atom.xml&lt;/a&gt; or &lt;a href=&#034;http://www.getahead.ltd.uk/blog/joe/atom.xml&#034;&gt;http://www.getahead.ltd.uk/blog/joe/atom.xml&lt;/a&gt; and all have subscribers at Bloglines.&lt;/p&gt;

&lt;p&gt;We need a way to say, &#034;this is not the feed you are looking for&#034;, a bit like an &lt;a href=&#034;http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3&#034;&gt;HTTP-301&lt;/a&gt;, but one that you can create simply by editing the text of a blog.&lt;/p&gt;

&lt;p&gt;We need a micro-format for blog redirecting.&lt;/p&gt;

&lt;p&gt;This new micro-format must:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Be readable by the worlds feed aggregators.&lt;/li&gt;

&lt;li&gt;Allow bloggers to point subscribers to a new feed URL.&lt;/li&gt;

&lt;li&gt;Be simple enough that it can be used by bloggers with a limited ability to edit the text of their blog.&lt;/li&gt;

&lt;li&gt;Make sense in a HTTP form as well as an RSS form. This rules out (this and the last rule out HTTP-301)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It would be also be nice if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The honchos at MySpace couldn&#039;t block it easily.&lt;/li&gt;

&lt;li&gt;It gave people that have had their blogs hacked a chance to change their minds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So how about this for a solution; the micro-format looks like this:&lt;/p&gt;

&lt;p style=&#034;margin-left:20px&#034;&gt;&lt;code&gt;&amp;lt;p&amp;gt;autoresubscribe using &amp;lt;a href=&#034;url&#034;&amp;gt;url&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In fact we could probably dispense with the &lt;code&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/code&gt; elements to make life simple.&lt;/p&gt;

&lt;p&gt;The rule could be that the &#034;autoresubscribe&#034; blog entry must remain on in the RSS feed of the blog for 30 days or more to become permanent. If it is removed before then, it is assumed that the blog was tampered with and the redirect is cancelled.&lt;/p&gt;

&lt;p&gt;There is a slight worry about false positives. What happens if the text above matches somewhere else by mistake? As far as I can tell, so far the web it totally devoid of any mentions of the phrase &lt;a href=&#034;http://www.google.com/search?&amp;q=%22autoresubscribe+using%22&#034;&gt;&#034;autoresubscribe using&#034;&lt;/a&gt;, so if we combine that with a requirement to have a url in a link to that url, I think we should be safe. Even this blog entry describing the micro-format with examples shouldn&#039;t match.&lt;/p&gt;

&lt;p&gt;There is the issue of internationalization; the proposed solution is great for the English speaking world but not so good for non-English blogs. On the other hand &#034;autoresubscribe&#034; isn&#039;t exactly a real English word in the first place. Maybe the spec would define a number of languages in which this could be written. Probably support for every one of the worlds 300 trillion languages is over the top, and we could limit ourselves to the top few. It is only 2 words after all. Or am I being too colonialist?&lt;/p&gt;

&lt;p&gt;All we need to make this work is the support of all the world&#039;s feed-readers. Surely that&#039;s a simple problem?&lt;/p&gt;

&lt;p&gt;Right?&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2006/05/10/http_301_for_rss.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2006/05/10/http_301_for_rss.html</guid>
    <pubDate>Wed, 10 May 2006 17:48:12 GMT</pubDate>
  </item>
  
  <item>
    <title>Blogging can make you a better programmer</title>
    <link>http://directwebremoting.org/blog/joe/2005/09/20/blogging_can_make_you_a_better_programmer.html</link>
    
      
        <description>
          &lt;p&gt;Michael Nielsen &lt;a href=&#034;http://www.qinfo.org/people/nielsen/blog/archive/tough-learning/tough-learning-final.html&#034;&gt;wrote and interesting piece about thinking&lt;/a&gt; and mentions something Stephen Covey did in a seminar:&lt;/p&gt;

&lt;div style=&#034;margin:0px 50px;font-style:italic;color:#448;&#034;&gt;
&lt;p&gt;&#034;Covey has a large group of people in a room, split up into many small groups, each group seated around a small circular table. ... Covey tells people that he is going to make five points over the next ten minutes, and that after he’s done the person sitting at &#034;6 O&#039;Clock&#034; at the table is going to explain the material to everybody else at the table.&lt;/p&gt;

&lt;p&gt;&#034;the first of Covey&#039;s five points is that the best way to learn is by teaching ... Then he looks around the audience, and asks people to compare the behaviour of the people sitting at 6 O&#039;Clock to those not at 6 O&#039;Clock. Invariably, the people at 6 O&#039;Clock are assiduously taking notes, ... paying much closer attention on average than those not at 6 O&#039;Clock.&lt;/p&gt;

&lt;p&gt;&#034;By changing the role of some of the people in that room ... Covey changed the way they perceived themselves, a change that was reflected in vastly more effective behaviour.  They began to see themselves as teachers, and this made them much better learners.&#034;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;It&#039;s interesting how something so simple can change your actions, but more interesting to me is how blogging is similar to sitting at 6 O&#039;Clock.&lt;/p&gt;

&lt;p&gt;Since I&#039;ve been writing this blog I&#039;ve noticed that I&#039;ve started to take more notes. Originally because I&#039;ve thought &#034;that&#039;s cool I might want to refer to that&#034;. But I think the process of taking notes has made me remember more.&lt;/p&gt;

&lt;p&gt;The other day I was considering the design of a fairly complex login system and normally I would just have considered what I needed to authenticate the users, but since taking a few notes on Web 2.0 (from articles like &lt;a href=&#034;http://www.digital-web.com/articles/web_2_for_designers/&#034;&gt;this one&lt;/a&gt;) which makes the point about how important data is to big web-sites I&#039;ve altered my thinking about how the login system should work. If data and an on-going conversation with customers is important then you don&#039;t want to throw data away nearly so much as you did when you were only interested in authentication.&lt;/p&gt;

&lt;p&gt;So the notes I made because I blogged have altered how I design software, and for the better. Which I guess is the point Covey was making in the first place.&lt;/p&gt;

&lt;p&gt;Has blogging made you a better at your job? You&#039;ll be answering in your blog using trackbacks of course ...&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://directwebremoting.org/blog/joe/2005/09/20/blogging_can_make_you_a_better_programmer.html#comments</comments>
    <guid isPermaLink="true">http://directwebremoting.org/blog/joe/2005/09/20/blogging_can_make_you_a_better_programmer.html</guid>
    <pubDate>Tue, 20 Sep 2005 07:34:20 GMT</pubDate>
  </item>
  
  </channel>
</rss>
