<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4795229482525515722</id><updated>2011-07-29T01:46:03.826-07:00</updated><category term='scalasolutions'/><category term='lazy'/><category term='mlvm'/><category term='tail calls'/><category term='scala'/><category term='f#'/><category term='martin odersky'/><category term='sales'/><category term='functional programming'/><category term='ocaml'/><category term='jvm'/><category term='book'/><category term='Programming in Scala'/><category term='industry'/><category term='openjdk'/><title type='text'>Scala News</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://scalanews.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://scalanews.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4795229482525515722.post-2911315981232670412</id><published>2010-08-11T03:36:00.000-07:00</published><updated>2010-08-11T03:43:30.856-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scalasolutions'/><category scheme='http://www.blogger.com/atom/ns#' term='industry'/><category scheme='http://www.blogger.com/atom/ns#' term='martin odersky'/><title type='text'>Martin Odersky's new company ScalaSolutions</title><content type='html'>&lt;p&gt;The creator of the Scala programming language, Martin Odersky, stated informally at &lt;a href="http://days2010.scala-lang.org/node/138/170"&gt;Scala Days 2010&lt;/a&gt; that he intended to create a startup offering commercial Scala support. He also mentioned it in a comment &lt;a href="http://codemonkeyism.com/scala-unfit-development/"&gt;here&lt;/a&gt;. Interestingly, a venture capital firm in Switzerland have listed &lt;a href="http://www.venturekick.ch/index.cfm?CFID=4556&amp;amp;CFTOKEN=67350117&amp;amp;page=119971&amp;amp;profil_id=1629"&gt;ScalaSolutions&lt;/a&gt; as a new company with VC funding and Martin Odersky as CEO/Chairman that describe themselves as:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;A company to provide support, consulting, training, and enterprise tools for the open source Scala programming language.&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4795229482525515722-2911315981232670412?l=scalanews.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalanews.blogspot.com/feeds/2911315981232670412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4795229482525515722&amp;postID=2911315981232670412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/2911315981232670412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/2911315981232670412'/><link rel='alternate' type='text/html' href='http://scalanews.blogspot.com/2010/08/martin-oderskys-new-company.html' title='Martin Odersky&apos;s new company ScalaSolutions'/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4795229482525515722.post-2363907622703469673</id><published>2010-04-01T16:15:00.000-07:00</published><updated>2010-04-01T16:37:34.851-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming in Scala'/><category scheme='http://www.blogger.com/atom/ns#' term='sales'/><title type='text'>10,000 copies of Programming in Scala sold</title><content type='html'>&lt;p&gt;The first book on Scala &lt;a href="http://www.artima.com/shop/forsale"&gt;&lt;em&gt;Programming in Scala&lt;/em&gt;&lt;/a&gt; that was published Q3 2007 has apparently sold over 10,000 copies according to &lt;a href="http://old.nabble.com/Re%3A--scala--Fwd%3A-Pro-Scala-p27728502.html"&gt;a recent mailing list post&lt;/a&gt; by one of its authors, Martin Odersky.&lt;/p&gt;&lt;p&gt;This is far more copies than all &lt;a href="http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-22.html"&gt;functional programming books combined in 2008&lt;/a&gt;. For example, &lt;a href="http://www.ffconsultancy.com/products/fsharp_for_technical_computing/?sb"&gt;F# for Scientists&lt;/a&gt; has sold only 2,500 copies and sales have completely dried up after less than 2 years.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4795229482525515722-2363907622703469673?l=scalanews.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalanews.blogspot.com/feeds/2363907622703469673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4795229482525515722&amp;postID=2363907622703469673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/2363907622703469673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/2363907622703469673'/><link rel='alternate' type='text/html' href='http://scalanews.blogspot.com/2010/04/10000-copies-of-programming-in-scala.html' title='10,000 copies of Programming in Scala sold'/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4795229482525515722.post-1788723908366341542</id><published>2009-02-08T05:17:00.000-08:00</published><updated>2009-02-08T05:27:34.596-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tail calls'/><category scheme='http://www.blogger.com/atom/ns#' term='mlvm'/><category scheme='http://www.blogger.com/atom/ns#' term='openjdk'/><category scheme='http://www.blogger.com/atom/ns#' term='jvm'/><title type='text'>Tail calls on the JVM: work in progress</title><content type='html'>&lt;p&gt;The terms &lt;span style="font-style: italic;"&gt;proper tail recursion&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;tail call elimination&lt;/span&gt; are used to describe the ability for a computation to flow through an arbitrary number of functions via tail calls in a bounded amount of stack space. Consequently, correct implementation of tail call elimination has been regarded as an essential feature for functional programming languages for over two decades. Without it, many functional idioms are prone to causing  stack overflows.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Microsoft's .NET platform is built upon a Common Language Run-time (CLR) that was designed to support a wide variety of programming languages including functional languages and, consequently, the CLR has had tail call elimination for the best part of a decade. There are already &lt;a href="http://fsharpnews.blogspot.com/2009/01/another-commercial-product-written.html"&gt;several commercial products&lt;/a&gt; that depend upon the correct handling of tail calls in the CLR.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Although the JVM has many advantages and is the VM of choice for millions of developers, the lack of support for tail call elimination on the JVM has seriously impeded the development and uptake of functional languages like &lt;a href="http://scalanews.blogspot.com/"&gt;Scala&lt;/a&gt; and &lt;a href="http://clojurenews.blogspot.com/"&gt;Clojure&lt;/a&gt; and that has, in turn, greatly reduced the diversity of tools and solutions available on the JVM.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Sun have been &lt;a href="http://blogs.sun.com/jrose/entry/tail_calls_in_the_vm"&gt;making noises&lt;/a&gt; about implementing tail call elimination in the HotSpot virtual machine for years but there had been no visible signs of progress until &lt;a href="http://mail.openjdk.java.net/pipermail/mlvm-dev/2009-January/000331.html"&gt;Arnold Schwaighofer's announcement&lt;/a&gt; on the OpenJDK mailing list a few weeks ago stating that he had successfully implemented tail call elimination on the JVM.&lt;/p&gt;&lt;p&gt;This is very exciting news and represents the single most important step the JVM has ever made toward being a genuine common language run-time. If support for tail call elimination makes it into the JVM then both existing and new functional languages (such as &lt;a href="http://ocamljava.x9c.fr/"&gt;OCamlJava&lt;/a&gt;) will no doubt see vastly more interest as they will be infinitely more suitable for writing production quality code.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4795229482525515722-1788723908366341542?l=scalanews.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalanews.blogspot.com/feeds/1788723908366341542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4795229482525515722&amp;postID=1788723908366341542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/1788723908366341542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/1788723908366341542'/><link rel='alternate' type='text/html' href='http://scalanews.blogspot.com/2009/02/tail-calls-on-jvm-work-in-progress.html' title='Tail calls on the JVM: work in progress'/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4795229482525515722.post-5904468051150121069</id><published>2007-12-22T18:29:00.000-08:00</published><updated>2007-12-22T19:41:05.317-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='functional programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming in Scala'/><category scheme='http://www.blogger.com/atom/ns#' term='scala'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>First book on Scala just published</title><content type='html'>&lt;p&gt;&lt;a href="http://www.artima.com/index.jsp"&gt;Artima&lt;/a&gt; just published the first book on the &lt;a href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt; programming language called &lt;a href="http://www.artima.com/shop/forsale"&gt;Programming in Scala&lt;/a&gt;, written by the language's creator &lt;a href="http://lamp.epfl.ch/%7Eodersky/"&gt;Martin Odersky&lt;/a&gt; as well as &lt;a href="http://www.lexspoon.org/"&gt;Lex Spoon&lt;/a&gt; and Bill Venners.&lt;/p&gt;&lt;p&gt; Some of the keenest readers have even posted their reviews. David Pollak writes "I heartily endorse buying the book and think it's a spectacular piece of work". Eelco Hillenius writes "I love the book so far. Definitively the missing piece of getting started with Scala. Thanks!".&lt;/p&gt;&lt;p&gt;Congratulations to the authors and the Scala team for achieving this milestone!&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4795229482525515722-5904468051150121069?l=scalanews.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalanews.blogspot.com/feeds/5904468051150121069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4795229482525515722&amp;postID=5904468051150121069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/5904468051150121069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/5904468051150121069'/><link rel='alternate' type='text/html' href='http://scalanews.blogspot.com/2007/12/first-book-on-scala-just-published.html' title='First book on Scala just published'/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4795229482525515722.post-4760893307677215343</id><published>2007-10-13T04:06:00.000-07:00</published><updated>2007-10-13T04:14:54.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazy'/><title type='text'>Deferring evaluation</title><content type='html'>&lt;p&gt;One of the first cool features of the Scala language that struck me is the ability to defer the evaluation of a function argument simply by changing the type of the function definition.&lt;/p&gt;&lt;p&gt;In essence, you simply take an existing type declaration for a function argument of a given type:&lt;/p&gt;&lt;pre&gt;def succ(x: Int): Int = 1+x&lt;/pre&gt;&lt;p&gt;and insert &lt;span style="font-family:courier new;"&gt;=&gt;&lt;/span&gt; to defer the evaluation of the expression:&lt;/p&gt;&lt;pre&gt;def succ(x: =&gt; Int): Int = 1+x&lt;/pre&gt;&lt;p&gt;Now, evaluation of the expression passed to &lt;span style="font-family:courier new;"&gt;succ&lt;/span&gt; is deferred and each reference to &lt;span style="font-family:courier new;"&gt;x&lt;/span&gt; in the body of the function &lt;span style="font-family:courier new;"&gt;succ&lt;/span&gt; actually evaluates the given expression.&lt;/p&gt;&lt;p&gt;Kent Tong recently gave a &lt;a href="http://www.agileskills2.org/blog/2007/10/applying_scala_to_solving_real.html"&gt;good practical example&lt;/a&gt; of how this can be used to defer the computation of debug expressions. This addresses a common problem where computing debug strings too eagerly can slow down a whole application significantly even if the debug strings are never logged!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4795229482525515722-4760893307677215343?l=scalanews.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalanews.blogspot.com/feeds/4760893307677215343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4795229482525515722&amp;postID=4760893307677215343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/4760893307677215343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/4760893307677215343'/><link rel='alternate' type='text/html' href='http://scalanews.blogspot.com/2007/10/deferring-evaluation.html' title='Deferring evaluation'/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4795229482525515722.post-5911334744974863855</id><published>2007-10-07T21:08:00.000-07:00</published><updated>2007-10-07T22:11:02.002-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='functional programming'/><category scheme='http://www.blogger.com/atom/ns#' term='ocaml'/><category scheme='http://www.blogger.com/atom/ns#' term='f#'/><category scheme='http://www.blogger.com/atom/ns#' term='scala'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Flying Frog move into Scala market</title><content type='html'>&lt;p&gt;We posted a note that our &lt;a href="http://www.ffconsultancy.com/languages/ray_tracer/?sb"&gt;ray tracer&lt;/a&gt; had been ported to &lt;a href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt; and &lt;a href="http://flyingfrogblog.blogspot.com/2007/09/ray-tracer-language-comparison-ported.html"&gt;asked&lt;/a&gt; if anyone would like a new book &lt;em&gt;Scala for Scientists&lt;/em&gt; following on from our &lt;a href="http://www.ffconsultancy.com/products/ocaml_for_scientists/?sb"&gt;OCaml for Scientists&lt;/a&gt; and new &lt;a href="http://www.ffconsultancy.com/products/fsharp_for_scientists/?sb"&gt;F# for Scientists&lt;/a&gt; titles. The response was tremendous!&lt;/p&gt;&lt;p&gt;Needless to say, we're now diversifying into the Scala market and you'll most likely see a lot of free example demos and commercial Scala/Java products from us in the near future.&lt;/p&gt;&lt;p&gt;For us, the most interesting thing about Scala is the fact that it builds upon the Java legacy. Our area of expertise is technical computing (how computers can benefit scientists and engineers). We started out with C++ but quickly discovered the benefits of modern statically-typed functional programming languages of the ML family (primarily &lt;a href="http://www.ffconsultancy.com/products/ocaml_journal/?sn"&gt;OCaml&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;However, these languages are obscure compared to mainstream languages like C++, Java and even (in technical computing) good old Fortran. One obvious problem with this is lack of libraries. OCaml has a lot of libraries and, compared to mainstream languages, the libraries that exist for OCaml are of incredibly high quality. However, the world keeps changing and OCaml lacks libraries to deal with many recent inventions like web services (SOAP, UDDI, WSDL and so on).&lt;/p&gt;&lt;p&gt;The easiest solution to this problem is to build a new generation of functional programming languages on top of existing platforms that already have big user bases. Fortunately, efforts are underway to bring state-of-the-art programming languages to both of the major cross-language platforms. The &lt;a href="http://www.ffconsultancy.com/products/fsharp_journal/?sb"&gt;F# programming language&lt;/a&gt; from a team led by Don Syme at Microsoft Research targets their .NET platform and the Scala programming language from an academic group led by Martin Odersky at the EPFL in Switzerland targets the JVM.&lt;/p&gt;&lt;p&gt;The .NET platform is a wonderful thing: designed to support multiple languages (the Common Language Run-time) and often more efficient than the JVM. However, for all intents and purposes, .NET means Windows only. Microsoft have the functional programming on .NET market pinned down with F# and they just switched on the development afterburners (expect a &lt;em&gt;major&lt;/em&gt; announcement soon!).&lt;/p&gt;&lt;p&gt;That leaves the JVM. Java is the primary language for the JVM and has shot to super-stardom in recent years, becoming not only a dominant force in web programming but also technical computing and many other areas. Java is now widely used by scientists and engineers and is a particular favourite among bioinformaticians, not least because the JVM runs on Linux, Mac OS X and Windows. This is of particular interest to us because dozens of bioinformatics institutes across the world have bought our book &lt;a href="http://www.ffconsultancy.com/products/ocaml_for_scientists/?sb"&gt;OCaml for Scientists&lt;/a&gt;. Although the JVM was not originally designed to support multiple languages, several major new languages have been built on top of the JVM (e.g. JRuby and Groovy) and there has been much discussion about augmenting the platform with features (like tail recursion) to help the development of new languages.&lt;/p&gt;&lt;p&gt;We have no doubt that F# is about to make serious inroads into technical computing on the Windows platform, and will even draw in users from other platforms. However, if the purpose of building upon an existing framework is to exploit its popularity, then we must consider how popular the dominant languages for each framework are. In general, the popularity of Java and C# is quite close, with most users working on web programming, database programming and GUI application development. However, among technical users, Java is vastly more popular than the whole of .NET. In fact, the number of technical users of C# is similar to the number of technical users of OCaml. We learned this the hard way by releasing an &lt;a href="http://www.ffconsultancy.com/products/signal_processing_net/?sb"&gt;FFT library for .NET&lt;/a&gt; before surveying the market properly, only to discover that it is only as popular as our &lt;a href="http://www.ffconsultancy.com/products/fsharp_for_visualization/?sb"&gt;Visualization library for F#&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;F# is set to explode in popularity over the next three years and the vast majority of technical users on the Windows platform will migrate to F#, followed by many non-technical users. Scala has the disadvantages of a much smaller development group and no advertising budget but the advantage of growing on top of a vastly more popular platform. So we believe that both projects are about to reshape the programming language landscape. We just completed &lt;a href="http://www.ffconsultancy.com/products/fsharp_for_scientists/?sb"&gt;F# for Scientists&lt;/a&gt;. Now its time for &lt;em&gt;Scala for Scientists!&lt;/em&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4795229482525515722-5911334744974863855?l=scalanews.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalanews.blogspot.com/feeds/5911334744974863855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4795229482525515722&amp;postID=5911334744974863855' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/5911334744974863855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4795229482525515722/posts/default/5911334744974863855'/><link rel='alternate' type='text/html' href='http://scalanews.blogspot.com/2007/10/flying-frog-move-into-scala-market.html' title='Flying Frog move into Scala market'/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>
