Info

Ben is Vice President of Global Products at Walmart.com, where he works closely with his long-time friend Dion Almaer.

Bespin

It’s been thrilling to finally release Bespin to the world. There’s nothing quite like seeing feedback start pouring in via IRC, blog comments, Twitter, and email within minutes of pushing “Post” on the first announcement blog entry. I’m very grateful to everyone who has taken some time to engage with us in any of the various media out there. We’ve also seen some interesting community efforts at extending Bespin; check out our blog post on the Labs website for details.

Culling through everything, it’s clear that a few aspects of the project are controversial. I’d like to address one of them: our choice of canvas as the rendering engine for the editor.

Bespin and Canvas

Bespin takes advantage of a relatively new feature of browsers to power its text editor: the <canvas> element. Canvas gives developers something the intriguing ability to render arbitrary two-dimensional graphics in a web page; it’s basically an <img> element you can draw into with JavaScript commands. The API looks something like this:

// all drawing performed via the context
var ctx = document.getElementById("canvasId").getContext("2d");

ctx.fillStyle = "black";  // accepts same values as CSS "background" property

ctx.fillRect(0, 0, 50, 50); // draws a black 50x50 rectange in the canvas

Canvas is available in the currently released versions of Safari, Opera, Firefox, and Chrome; it has been a part of the HTML 5 draft specification for a long time. It is not available in Internet Explorer.

Bespin builds on this API to recreate a text editor from scratch. That’s right; rather than use the native facilities of every modern operating system that give you word processing features for free, Bespin rolls them from scratch, including such basic constructs as a blinking cursor and text selection.

The Bespin Editor

The Bespin Editor

One of the the features we didn’t have to re-implement is text rendering; the HTML 5 specification includes an API to render text on a canvas. Unfortunately, this portion of the canvas API has only been implemented by Firefox, though it’s already in WebKit nightly builds (and thus will very likely be in a future version of Safari) and Chromium nightlies (from which Chrome versions are derived). We expect Opera will soon as well.

But Does It Scale?

We weren’t actually sure this would work when we set out to do it. You wouldn’t think a JavaScript interpreter in a browser could render enough frames on a large, modern 32-bit image display to make the experience anything close to what you get effortlessly in Notepad on Windows XP running on 10-year-old hardware.

To be sure, for some users, the performance does indeed suck–we’re looking into exactly why (it appears that certain video drivers cause performance problems on Linux; Google Chrome’s multi-process architecture appears to slow down performance on that browser). The interesting thing is that for large classes of users, performance is really, really good. There’s a lot to say about topic; we’ll touch on that more in a future blog post.

Why?

The first time we demoed Bespin to someone who understand these implementation details, the reaction was “Wow, you’re crazy!” followed by “That’s really cool.” Pretty much everyone else I’ve spoken with has the same first reaction (the crazy bit) but the follow-up is not always positive (ranging from the aforementioned to “WTF!?”).

Surely there’s a higher-level abstraction we could have built on? Something above pixel painting?

Well, let’s get one thing out of the way first-up: there may very well be a more effective way to do what we’ve done than with canvas. I’m not saying this is the best way to do it; I just want to explain why we did it.

Control, Control, We Must Have Control

One of our goals with Bespin is to be able to (at some point in the future) deliver a fantastically compelling user experience for editing code on the Web. We don’t want Bespin to be the editor you use when you can’t get to your desktop; we want it to be your editor of choice in any context.

It turns out that’s a tall order. Some users like word-wrapping; some don’t. Some users actually like column selection modes while other (more sane) users like line-oriented selection (I kid, I kid). Developers are notoriously finicky with their tools–especially their code editor–and we didn’t want to re-educate the world on how our editor worked; we want to make Bespin adaptable to as wide an audience as we could.

We felt that if we built Bespin on something like <textarea> or the “content editable” feature of HTML, we’d have a built-in set of limitations over which we’d have very little or no control.

The Alternatives

To build on the last paragraph, we considered three different alternatives to canvas:

  1. textarea
  2. contentEditable
  3. “line blocks”

The “control” argument above is one reason we dismissed textarea and contentEditable; further, we’ve seen a large number of other web editor implementations based on these approaches and based on playing with those and by the many horror stories floating around the Web from their authors, we were concerned that we couldn’t overcome performance and compatibility problems, especially when editing large files.

Line Blocks

“Line blocks” are a different story. What if we had a bunch of <div> elements stacked vertically and treated each one as a rendering surface for a line of text in the document being edited? We played with that approach a bit but couldn’t get as much performance out of it as we could with canvas, especially for wide files (>80 columns).

Compatibility

We’ve taken some flak for claiming that Bespin is based on “Open Web technologies” but only supporting Firefox and WebKit nightly. Earlier in this post, I explained the state of canvas support in the browsers and how we’re hopeful that our canvas approach will work in future versions of Chrome, Safari, and Opera.

However, we have a plan in case browsers don’t implement the proper text rendering APIs: bitmap font rendering. By pre-rendering fonts into images, we can then render the images on the canvas. There are a number of proof-of-concept implementations floating around that demonstrate this concept (though unlike some, we wouldn’t render the fonts as vectors–there’s no way it would perform to our needs).

What about Internet Explorer? It’s hard to say what the future of canvas support is for IE; it certainly isn’t coming in IE8. However, there are a number of projects that emulate canvas by mapping it to VML (an abandoned IE proprietary rendering technology), Flash, and Silverlight. So far, none of these bridges offers adequate performance for us to seriously considering supporting it. We’re aware of promising developments in this area and we’ll experiment with IE support as these technologies evolve.

Mobile Support: iPhone, Android, Fennec, and More

We’re also very excited to get Bespin working on mobile devices with fully-featured browsers. The iPhone’s browser–”mobile Safari”–does support canvas, but does not yet have the text rendering APIs. We may implement the aforementioned bitmap font rendering just to get on the iPhone. We are also looking at other mobile platforms, such as Android, Fennec, Palm, and so forth.

How cool would it be to change your code and redeploy it from the beach?

Obviously, it will take some interface changes for Bespin to be usable on a mobile device. We have some ideas here and we look forward to working with the community on developing the concepts further.

What do you think?

What do you think of our use of canvas in Bespin’s editor?

Note: I realized the morning after that I had omitted some of what I meant to include in this post; I’ve retroactively renamed this post “Part 1” and added a “Part 2”.

Comments

154 Comments

Post a comment
  1. February 18, 2009

    It sounds a little crazy…but then again all ambitious project do. Congratulations.

  2. February 18, 2009

    I’m not very well informed on , but all I know was that this was originally an Apple product/language correct? My question is why was canvas chosen over let’s say SVG being that this project is housed with Mozilla? Also, I’m curious as to why you chose which is a web technology that is not identifiable through any DOM method and isn’t semantic?

    I’m curious mostly because I’m still completely lost on how you did all this in the first place! I would have never thought of using the element and to rebuild everything including scroll bars and cursors and you did it well.

    You guys have definitely given me inspiration to try out the element though! thanks again!

  3. February 18, 2009

    Crap, it stripped out everytime i did canvas as a tag… so the odd empty spaces i wrote canvas their as a HTML tag

  4. February 18, 2009

    Bespin is sexy cool. I look forward to seeing what comes next.

  5. Oscar C. #
    February 18, 2009

    Ben, you and Dion are doing a great job. I’m looking forward to the first public version of Bespin, because… if I’m using the first testing version and I’m already excited… I don’t know when the first public version comes!

    I think using Canvas is a good idea, as well as difficult, and I only have to say something about that, be careful not to do Bespin a monster, because it runs a bit slowly on computers not so old (iBook G4 late 2005).

    I have already tested it on Webkit Nightly Build and it runs very smoothly (Webkit Javascript Engine is gorgeus) But it has some issues with keybindings.

    Keep this good work going! :)

  6. February 18, 2009

    @Oscar: Canvas makes more sense for Ben and Dion then SVG, as it gives them a lower level, immediate-mode API for what they are doing. They wouldn’t get anything out of using SVG in this case — SVG allows you to have graphical markup, which is good for search engines, accessibility, etc. but makes no sense in this case. Both SVG and Canvas are standards, so using Canvas is totally fine (HTML 5 actually documents Canvas, as well as provides a standard way to embed SVG into normal HTML, so moving forward both are fine options).

  7. February 18, 2009

    Ben, have you seen the amazing work Ray Cromwell has been doing around speeding up Canvas with a Flash backend, using some GWT features? You should touch base with him; the performance he’s been able to get sounds pretty amazing.

  8. February 18, 2009

    Canvas is a good choice for many reason, however I see a problem with canvas : accessibility. How is your editor rendered to screen readers ? Perhaps it can be resolved by storing the text content in a DOM element ?

    I think a better solution would to implement a real text editor in the browser (Yes, I dream :-) ), a sort of , where javascript.xml is an xml file which describes the syntax of the language for the syntax coloring, the autocompletion etc..

  9. February 18, 2009

    sorry, your blog eats my exemple of html tag. So I said, a sort of

    textarea type=”rich” language=”javascript.xml” options=”selectionmode=columns;indent=spaces;indent-length=4″

  10. smaug #
    February 18, 2009

    FYI, ‘{‘ and ‘}’ don’t work in Bespin when using
    OSX and Finnish keyboard. To get ‘{‘ one has to press
    alt+shift+8 and for ‘}’ alt+shift+9.

  11. February 18, 2009

    Brad, thanks for the mention. I do have a Flash implementation of the Canvas API, but there is a big caveat to text rendering. While I support text rendering in my GWT API (emulated in various ways, see this old post http://timepedia.blogspot.com/2007/06/gwt-canvas-rendering-rotated-text.html for how I emulate rotated text drawing on canvas using drawImage() and font-book images generated by Java2D), in Flash9 atleast, there is no equivalent of canvas.fillText(). Here is Flash’s equivalent to CanvasRenderingContext2D: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Graphics.html

    The way I handle text rendering then is to essentially overlay Text widgets onto the Flash scene. It was the low hanging fruit. There may be a way to do it for real in Flash, but getting access to vector font information and actually drawing the vectors, but this may be inefficient.

    For IE, it’s probably the only solution, unless you want to use a Silverlight or Java Applet canvas implementation.

    -Ray

  12. Oscar C. #
    February 18, 2009

    @smaug: We are talking about it in the Google group :). I’m testing a textArea test case and it works fine at least on Spanish (Spain) keyboard layout.

  13. Chris #
    February 18, 2009

    Bespin is incredible, well done Ben! I can see why you chose Canvas and it’s fine for the next year or so. In the long term, however, we should improve contentEditable so it can deliver what you need, because it’s way more accessible e.g. to search engines and internationalisation.

    Could you list the CSS extensions (e.g. for text-wrapping, text-selection), bug fixes and performance enhancements that would mean you could start using contenteditable? Then, if they were prioritised in Firefox, everyone on the web could benefit from them.

  14. February 18, 2009

    I also had the “Wow, you’re crazy” first reaction. But I can see how an Open Web API of a Scintilla type editor would be nice.

    I still have the “Wow, you’re crazy” reaction to Thunder Head – Why recreate widgets in canvas? Couldn’t you use standard widgets. I’ll wait for the post explaining the rationale :)

  15. Felix Vargas #
    February 18, 2009

    I think the using of canvas in Bespin is just the beginning, this must inspire us to use canvas in bigger projects like 3D rendering or something like that.
    Congrats!!

  16. February 18, 2009

    I really liked the project.
    The canvas element give you the ability to make really cool stuff with the text editing. I have make several changes on a local copy. Starting from scratch(leaving OS stuff) is power to make really non-web text editor. For example there was ( as far as know ) problem with newline that don’t save spaces for the new line correctly, but with 4 lines it was fixed :)

  17. February 18, 2009

    Ben – thanks for the writeup, and thanks for the suggestion for us to use canvas on our site too. I found it very easy to use, and like you, particularly liked the control it gives you over all the pixels in the element.

    Had a few issues getting it to work in IE (especially 8) – but google’s excanvas (and some hacks) helped here. Do you have any plans to use an excanvas-like solution to get Bespin working on IE?

    Look for some canvas graphs in a week or two on SAC.

  18. February 18, 2009

    auto-emoticons …

    meant to say especially IE8

  19. February 18, 2009

    Have you guys looked at what the folks over at EtherPad are doing? They have the most interesting ideas I’ve seen on how to tackle online editing I’ve seen. You can listen to an interview on Phil Windley’s technometria podcast with Aaron Iba to get an idea of just how cool their app is: http://itc.conversationsnetwork.org/shows/detail3985.html

  20. February 18, 2009

    As an experiment, I think what you’re doing is great. However, I’d echo some other comments above that essentially rolling your own contentEditable implementation in JS+canvas is the wrong way to go. I’m sure it makes your life a lot easier in the implementation, but in the long run it doesn’t benefit other users of the web. If it’s not possible to do what you want using contentEditable and other web features that browsers implement natively, then you should file bugs or make proposals for changes that would let you do what you want. It’s certainly not the ideal way to get something working now, but if you can convince browser makers to implement the things you need, then others can benefit from your work. As I’m sure you’ve seen, you’re not the only people to think about writing a web-based editor, and you won’t be the last. Bespin is a cool prototype, and the canvas-based approach may be the way to go for prototyping, but I’d urge you to find out how we can make existing web technology (not just canvas) suitable for what you’re doing.

  21. Ray Cromwell #
    February 18, 2009

    I don’t think contentEditable can really be fixed for this. First, any fix is likely to take a long long time to make it into browsers to be useful.

    Secondly, the contentEditable spec seems to assume you are building a rich-text HTML editor, inserting , and other elements into the DOM without giving you full control. If you’re writing a code editor, do you really want all of these extra DOM elements auto-inserted by the UA, which I might add, seems to have considerable freedom in what it actually does?

    Third, if you want a really high performance editor capable of dealing with large documents, you need full control over rendering in order to implement regional updates/repaint-on-dirty. This would essentially force the “stack of DIVs” scenario, with all of them set to contentEditable, but with numerous filters to prevent the UA from inserting junk DOM nodes. Is this really much better?

    Maybe I’m wrong, and there’s an easy way to use contentEditable for this, I’ll confess I’ve never used it, only perused the spec. But if I were building a Bespin-like editor, I’d want to take full control over rendering and event handling, like just about every other IDE out there. If you look at platform IDEs like IntelliJ, NetBeans, Eclipse, etc they don’t use the bog-standard widgets provided by the operating system or platform SDK, but rather they roll their own, and for good reason.

  22. Ben Galbraith #
    February 18, 2009

    Thanks to all for the kind words.

    @Oscar Godson: Yes, canvas originated as a Safari-specific extension to HTML but is now a part of the HTML 5 specification. See “Bespin and Canvas Part 2” for more information on accessibility–the short answer is that we think there might be ways to make a canvas approach accessibility-friendly.

    @Oscar C: Yes, WebKit does run wicked fast. :-)

    @Brad, Ray: We are very keen to try out Ray’s work on Canvas-on-Flash.

    @Laurentj: Please see the Part 2 blog post for more information accessibility. We definitely look forward to some help in this area.

    @smaug: Key handling needs a good rework. :-) We’ll get it right.

    @Mark Finkle: Yeah, we’ll go into detail on all that.

    @Brendan Gibson: Glad you’re having fun with canvas. :-) I talk about IE plans in the Part 2 post.

    @Chris, Ted Mielczarek: In Part 2 I talk a small bit about our efforts to push functionality into the browsers themselves. We’d obviously love to see the web run-time itself enriched. :-)

  23. February 18, 2009

    I think replacing contentEditable with canvas and handling all text manipulation with js, will be good in the long run. The first things I thought when I was looking the Baspin source was “Can I implement multiple column editing ?! Hm .. I can … super”

  24. Dennis #
    February 18, 2009

    I disagree with some of the other posters here, I am totally stoked about your from-scratch implementation. This is much more flexible and powerful than simply using some standard browser component.

    I’m hoping it’ll ultimately get to something like the Java Swing text components…nicely factored out so if you want to, say, replace the text model, it’s easy to do, with just a half dozen or so methods to implement.

    I’ve had a project in mind for a while that needs exactly this, and being able to implement it in the browser without much difficulty would be way cool

  25. February 18, 2009

    This is good news for those of us who have been frustrated by the thought tha HTTP was never going to become fast and responsive enough to feel like an desktop application.

    So now I think I may have figured out the “You’re crazy” reaction: many web people have never gone through the experience of programming dots on a screen. From that perspective, writing an editor from the dots up might sound pretty insane.

    But that’s what the vast majority of us are looking at right now: text characters built up from dots in software, courtesy, in a sense, of PARC and Steve Jobs. (Okay, and also Bill Gates, who always got there last and thereby made the most money.)

    The original Apple II or PC technology, on the other hand, displayed text on the monitor by way of an Ascii screen buffer hooked and a ROM character generator, all built into the computer’s hardware. As the electron beam scanned across the TV tube, the character generator… but no, that would be too much detail for this message.

    From a purely webby point of view, the browser and the PC’s operating software (Windows, Mac OS, X11, etc.) now perform the invisible job of the 40-year-old character generator video hardware. Only by means of Java, Javascript, Flash, etc., can a web programmer directly manipulate the dots. That’s why the canvas tag looks like a bold leap forward, even though in a sense it brings the web environment back to the introduction of the Macintosh in 1984, when the idea of the Mac seemed kind of crazy to me for a few minutes: wow, everything is made of dots! The idea of programming an interactive computer without a character generator was something like being asked to create a painting with only a toothpick dipped into some oil paint… like the crazy pointillists.

  26. February 18, 2009

    Housekeeping note: Your link to Part 2 is broken.

  27. Dmitry Stadnik #
    February 20, 2009

    The never-ending story goes on an on — that’s amazing! Every widgets system defines at a moment a *custom* widget and there are always people that start to create their own widgets system inside it. Their reasons always make sense: performance, usability, extensibility and so on. And the end is always the same: users prefer _native_ widgets.

    And please read (reread?) about AWT vs. Swing vs. SWT — it’s the same story.

  28. February 20, 2009

    Some users might prefer native widgets. I prefer IntelliJ IDEA’s editor over Eclipse’s StyledText widget. I much prefer Java2D over the SWT graphics API.

    Of course, your comment is part of the whole Swing vs SWT flamewar. If users always preferred the native look and feel, then why are websites with custom UIs so popular? All of the UI widgets people create for the web, draggable regions, message boxes, trees, menus, etc are totally custom, abusing the DOM to create what wasn’t there natively.

    The SWT flamewar in the Java community really has nothing to do with Bespin.

  29. February 20, 2009

    And the end is always the same: users prefer _native_ widgets.

    What do you mean by “native”? I’m guessing you mean something like the following: “implemented by means of system calls and environment-specific libraries which encapsulate common OS functionality and which therefore pertain only to the specifically targeted operating system under discussion.” Also I suspect you are concerned about speed of screen refresh, fast reaction to clicks and other performance-related issues.

    I think you’re right when it comes to menus, buttons, scroll bars, window frames and similar objects. But, except with respect to speed, I’m not sure your point is applicable to a text editor pane. I’m pretty sure most word processors and text editors implements their own text panes using code written in, say, C++. Aside from speed, how does that approach differ from doing the same in Javascript? I anyone complaining that Google Maps is not “native” enough? Their map pane, as far as I know, is all implemented in Javascript.

  30. February 20, 2009

    This is pretty amazing. Look forward to what you can do with it.

    But the disturbing thought hit me: isn’t this just re-inventing NeWS, this time with Javascript instead of Postscript, and Canvas as the new Postscript-like rendering surface?

    You even have to solve the same problem of building GUI toolkits for your Canvas-based “window server.”

  31. Ray Cromwell #
    February 20, 2009

    Hey, NeWS was a great for it’s time, and the idea of Postscript-like rendering surfaces lived on in DisplayPostscript on NeXT, and Quartz on OSX.

    I don’t really see much different between building GUI toolkits for the canvas, vs building them for the DOM, the exception of the browser handling hit detection/event propagation, and CSS handling layout decisions. Otherwise, people already build completely custom widgets today which override tons of native browser behavior.

  32. March 17, 2009

    Hi Ben,

    an interesting and deep thread to be sure, thanks for pointing me in it’s direction, it’s nice to see controversy produce some hard hitting results and dispelling some myths.
    I’ve responded to your message here:
    http://www.trisis.co.uk/blog/?p=113#comments

    I’d be curious to know what lessons you guys have learn’t from doing this in Canvas, whether if speed and flexibility weren’t an issue and you could have done this successfully in XHTML/CSS/JS would you have?

  33. Jonathan Lin #
    January 19, 2010

    I was wondering if we could get bespin and the palm ares toolkit working on the palm pre browser. It would definitely be cool.

    bespin.mozilla.org loads up on the pre browser, but I can’t log in as the log in bar is in a div that is not rendered on the pre browser.

    I’m going to try a self hosted version of bespin next.

    The next step is to make a pre app – just embed bespin as a general purpose code/text editor for the palm pre!

  34. July 27, 2011

    Hi, this blog is really instructive. I would like to know more about this.

    Pictures on canvas

  35. May 31, 2012

    Wow, superb blog layout! How long have you been blogging for?
    you make blogging look easy. The overall look of your web site
    is magnificent, as well as the content!

  36. June 19, 2012

    Excellent post. I used to be checking continuously this weblog and I am impressed!
    Very useful information specifically the
    ultimate phase :) I take care of such information much.
    I was looking for this particular info for a very lengthy time.
    Thank you and best of luck.

  37. July 30, 2012

    A fascinating discussion is worth comment. I believe that you ought to publish more about this subject, it may not
    be a taboo matter but typically folks don’t speak about these subjects. To the next! Cheers!!

  38. November 20, 2012

    Today, I went to the beach front with my children.
    I found a sea shell and gave it to my 4 year
    old daughter and said “You can hear the ocean if you put this to your ear.” She placed
    the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear.
    She never wants to go back! LoL I know this is completely
    off topic but I had to tell someone!

  39. December 6, 2012

    If you want to obtain much from this article then you have to apply such strategies to your won blog.

  40. December 18, 2012

    Very energetic article, I enjoyed that bit.
    Will there be a part 2?

  41. December 23, 2012

    Valuable info. Lucky me I discovered your website
    accidentally, and I’m surprised why this twist of fate didn’t took place
    earlier! I bookmarked it.

  42. December 28, 2012

    Wow, amazing blog layout! How long have you been blogging for?

    you made blogging look easy. The overall look of your site is fantastic, let
    alone the content!

  43. January 7, 2013

    With havin so much content and articles do you ever run into
    any problems of plagorism or copyright violation? My site has
    a lot of unique content I’ve either authored myself or outsourced but it looks like a lot of it is popping it up all over the web without my authorization. Do you know any solutions to help reduce content from being stolen? I’d definitely appreciate
    it.

  44. February 8, 2013

    I’m pretty pleased to find this great site. I need to to thank you for your time for this particularly fantastic read!! I definitely loved every part of it and I have you saved as a favorite to see new stuff in your site.

  45. April 6, 2013

    When some one searches for his necessary thing,
    therefore he/she wishes to be available that in detail, therefore that thing is maintained over here.

  46. April 6, 2013

    For hottest news you have to pay a quick visit the web and on the web I
    found this web site as a best web site for hottest updates.

  47. April 16, 2013

    You ought to be a part of a contest for one of the
    best sites on the internet. I am going to recommend this web site!

  48. April 20, 2013

    Today, I went to the beach with my children. I found a sea shell and gave it
    to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She put the shell
    to her ear and screamed. There was a hermit crab inside and
    it pinched her ear. She never wants to go back! LoL I know this
    is completely off topic but I had to tell someone!

  49. May 9, 2013

    Hello there! This blog post could not be written any better! Reading through this article reminds me of my previous roommate! He constantly kept preaching about this. I am going to forward this information to him. Pretty sure he will have a good read. I appreciate you for sharing!

  50. May 9, 2013

    It is appropriate time to make some plans for the future and it is time to be happy. I have learn this put up and if I may I desire to counsel you few interesting issues or tips. Perhaps you could write next articles regarding this article. I desire to learn even more issues about it!

  51. May 18, 2013

    Wow, this paragraph is good, my sister is analyzing such things, therefore I am going to let know her.

  52. May 19, 2013

    Hey there! I know this is kinda off topic nevertheless I’d figured I’d
    ask. Would you be interested in trading links or maybe guest authoring a blog article or vice-versa?
    My blog goes over a lot of the same subjects as yours and
    I believe we could greatly benefit from each other. If you might be interested feel free to
    shoot me an e-mail. I look forward to hearing from you!
    Great blog by the way!

  53. May 20, 2013

    I am really inspired with your writing abilities and also with the structure
    in your weblog. Is that this a paid theme or did you customize it
    yourself? Either way keep up the nice high quality writing, it is
    rare to see a great weblog like this one these days.
    .

  54. May 23, 2013

    Hi there friends, good paragraph and fastidious arguments commented here, I am
    genuinely enjoying by these.

  55. May 23, 2013

    Hi! Someone in my Myspace group shared this site with us so I came to check it out.
    I’m definitely loving the information. I’m bookmarking and will
    be tweeting this to my followers! Exceptional blog and brilliant design and style.

  56. May 23, 2013

    Hi there, constantly i used to check website posts here early in
    the break of day, as i love to learn more and more.

  57. May 24, 2013

    I quite like reading through a post that can make people think.

    Also, thanks for allowing me to comment!

  58. May 26, 2013

    Great article. I’m dealing with some of these issues as well..

  59. June 2, 2013

    I like the valuable information you provide in your
    articles. I will bookmark your weblog and check again here frequently.
    I’m quite certain I will learn many new stuff right here! Best of luck for the next!

  60. June 8, 2013

    Wow, amazing blog layout! How long have you been blogging for?
    you made blogging look easy. The overall look of your site is fantastic, let alone the content!

  61. June 15, 2013

    Right now it looks like WordPress is the top blogging platform out there right now. (from what I’ve read) Is that what you’re using on your blog?

  62. June 15, 2013

    Hello Dear, are you really visiting this website regularly,
    if so afterward you will absolutely get fastidious knowledge.

  63. June 17, 2013

    This is my first time pay a quick visit at here and i am actually impressed to read everthing at alone place.

  64. July 13, 2013

    Howdy! I know this is kind of off topic but I was wondering which blog
    platform are you using for this site? I’m getting tired of WordPress because I’ve had problems
    with hackers and I’m looking at alternatives for another platform. I would be fantastic if you could point me in the direction of a good platform.

  65. July 19, 2013

    Everything is very open with a very clear clarification of the issues.
    It was really informative. Your site is very useful. Many thanks for sharing!

  66. July 19, 2013

    Greetings! I know this is kinda off topic but I was wondering if you
    knew where I could find a captcha plugin for my comment form?
    I’m using the same blog platform as yours and I’m having trouble finding
    one? Thanks a lot!

  67. http://fazercrescermusculos.wordpress.com/ #
    July 21, 2013

    Protein also helps make meals more satiating so you eat less and won.
    The conclusions were reached after a thirty two (32) week long study and
    would be published in the journal Steroids. Testing is highly recommended especially for
    older women as vitamin D is so helpful in absorbing calcium and maintaining bone mass as we age.

  68. July 23, 2013

    It’s really a cool and helpful piece of info. I am satisfied that you just shared this helpful info with us. Please keep us up to date like this. Thank you for sharing.

  69. July 26, 2013

    Thanks in support of sharing such a fastidious thinking, article
    is fastidious, thats why i have read it fully

  70. July 26, 2013

    After I initially commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on every
    time a comment is added I receive four emails with the exact same comment.
    Perhaps there is a means you can remove me from that service?
    Kudos!

  71. July 31, 2013

    These are really great ideas in regarding blogging.
    You have touched some pleasant things here. Any way keep up wrinting.

  72. August 3, 2013

    I was recommended this blog by my cousin.
    I am not sure whether this post is written by him as no one else know
    such detailed about my problem. You are wonderful! Thanks!

  73. September 16, 2013

    Hey! Do you use Twitter? I’d like to follow you if that would be okay.

    I’m definitely enjoying your blog and look forward to new
    posts.

  74. October 8, 2013

    There are thousands supplements to choose from and I’ve tried many.

    Trying to look your very best, while not subjecting your body to experimental
    treatments can be rewarding as long as you are actually seeing some
    great results. Aging is a part of human nature but the way each one of us
    reacts to it is a completely personal matter.

  75. October 18, 2013

    Oh my goodness! Incredible article dude! Thank you so much, However I am experiencing troubles with your RSS.

    I don’t know why I am unable to join it. Is there anyone else having identical RSS issues?

    Anyone that knows the answer will you kindly respond?
    Thanx!!

  76. October 18, 2013

    I was pretty pleased to uncover this page. I need to to thank you for ones time just
    for this fantastic read!! I definitely liked every little
    bit of it and i also have you saved as a favorite to check out new things in your
    website.

  77. October 28, 2013

    Hi there! This poat could not be written any better!
    Reading this post reminds me of my old room
    mate! He always kept chatting about this. I will forward this post to him.
    Fairl certain he will have a good read. Thank you for sharing!

  78. November 5, 2013

    The result of this is a need for increased security
    provisions ‘ something which banks in Europe, the Far East, the USA and prosperous areas in the Middle East have implemented
    without a problem. The BBC Sports network can rival almost any sports network in the U.
    From the 2007 Globe Cup throughout Indonesia, Brazilian gamers experienced a lot of critique at Home since
    they had been eliminated simply by Portugal inside the quarterfinals.

  79. November 5, 2013

    Hello, i read your blog occasionally and i own a similar one and i
    was just wondering if you get a lot of spam responses? If sso how do you
    stop it, any plugin or anything you can suggest?
    I get so much lately it’s driving me mad so any help is very
    much appreciated.

  80. November 5, 2013

    Appreciation for another fantastic post. Exactly where otherwise can any one have that kind of information ordinary best method of creating? I’ve a demonstration in a month’s time, that i’m to the look for this sort of information and facts.

  81. November 22, 2013

    I was suggested this website through my cousin. I’m
    no longer certain whether or not this submit is written through him as nobody else realize such exact approximately my problem.
    You’re amazing! Thank you!

  82. November 22, 2013

    I’m really enjoying the design and layout of your site.
    It’s a very easy on the eyes which makes it much more enjoyable
    for me to come here and visit more often.

    Diid you hire out a developer tto create your theme? Fantastic work!

  83. November 24, 2013

    Greetings! Very useful advice within this post! It is
    the litte changes whicxh will mae the largest changes. Thaanks for sharing!

  84. November 27, 2013

    I made all of the gifts myself,excepting fathers handkerchief The shelves of books,the hardwood floor,the throw rug,the couch My dear Mr
    [url=http://bymail2014.co.uk/]Barbour By Mail[/url]
    The letter,at my request,was dispatched to Sussex by an express,and in the meantime,Don Rodrigo,to grace my nuptials,hired a ready furnished house,and set up a very handsome equipage I also discuss the political situation with my dear father,and we decide the most perplexing questions quite as satisfactorily to ourselves as if I could see and hear
    [url=http://factoryshop2014.co.uk/]Barbour Outlet[/url]
    good to me It is not so much the lack of technical information that holds us back,but more the lack of self confidence The closer he gets to good bye,the more he seems to remember this example while thou art employed in the perusal of the following sheets.and seek not to appropriate to thyself that which equally belongs to five hundred different people
    [url=http://www.zandsculptuur.be/images/hogan/]Scarpe Hogan[/url]
    Sure,replied rich dadMy dad silently shook his head,pushed his glasses up the bridge of his nose and went back to reading the paper
    [url=http://bymail2014.co.uk/]Cheap Barbour Jackets[/url]

  85. November 29, 2013

    The other day, while I was at work, my cousin stole my iphone and tested to see if it cann survive a forty foot drop, just so she can be a youtube sensation.
    My iPad is now destroyed and she has 83 views.
    I know this is completely off topic but I had to share it with someone!

  86. November 29, 2013

    It’s truly very difficult in this active life to listen news on Television,
    thus I simply use the web for that reason, and get the most
    up-to-date news.

  87. November 30, 2013

    What’s up, all is going fine here and ofcourse every one is sharing information, that’s genuinely excellent, keep up
    writing.

  88. December 7, 2013

    The arrival of the wintertime season and freezing weather invite a multitude of possible plumbing
    troubles in tto our domiciles. Freezing day baths, frozn or broken pipes, shattered radiators, floods, aand escapes are merely some of the numerous undesired plumbing dilemmmas duee to cild winter weather.

    Till one is required most homeowners never think about an urgemt situation plumbing
    service. Within an emergency, every minute matters, so
    that you shyould question these inquiries before hiring a
    plumber to yourself and to avoid surprise fees.

    Never serve fats or cooking oils ddown drainpipes. Theyy harden in
    pipes. Instead, erase fat from containers with paper towels and place in junk.

    Avoid adding stringy, fibrous oor starchy waste in the rubbish convenience.
    Chicken skins, celery, berry and potato peels, by way oof example, cannot be sufficiently broken-down.

    Make sure the convenieence iis managing when you put foid involved
    with it. Don’t wait till it is full to show it in.

    For homes hosting weekend guests, it’s a good idea to hold back 10 minutes between
    showers therefore slow drains have time to do their job.

    Never remobe cotton baseballs, swabs, hair or cosmetic scrub parts down a bathroom.
    They do not dissolve and may cause shoes.
    harmon john heinl plumbing la habra ca

    Attempt to handle any plumbing dilemmaqs before the break and
    before guests arrive. But, in holiday emergencies, do not pause to question in advance about
    added holiday assistance fees.

    As usually, understand your limitations. Typically, slight plumbing difficylties develop into plumbing catastrophees
    if not managed effectively.

    Are you in need oof plumbing providers and desire to ensure that you’ve picked the right company?

    If therefore, keep in mind that over the number of
    years we’ve observed a lazrge upswng in the number of businesses inside the plumbing industry.

    PlumberAccording to Hooovers a D&B company “The US plumbing and HVAC technicians business involves about 98,000
    firms.”

    A plumber must bring equally worker’s settlement and liability insurance.
    Worker’s reimbursement covfers the plumber and employees in case of
    an injury. Without this insurance, the homeowner
    is responsible ffor health-related bills and additional related expenses.

    Liabiliity insurance pags for fixers and injuries as a result of the plumber’s actions.
    while mending the problem when the plumber causes damage
    to your property, this insurance coverage will pay for damages.
    In the event the plumber doesn’t bring culpability insurance,
    the homeowner accounts for damages.

    Plumbers witnout insurance are often cheaper simply because they do not
    must pay rates. Nonetheless, the savings are minimal compared to
    the expens of an injury or accident.

    Given the numerous plumbing businesses obtainable generally seems to make the duty of choosing the superior,
    capable plumber even more daunting. So how does one
    avoid the issues of becoming a victim of dishonest electricians?
    We have built some good common sense methods and homework recommendations that will help you pick a reputable plumbing assistance.

    zeen plumbing la habra california
    Are they the main Association of Plumbing Heating Cooling Contractors (APHC)?
    Plumbing companies that are element of this party stick to code criteria tat match making
    code needs. Different links to become regarded coukd be account in the locasl Chamber of Commerce
    or contribution in community projects. Often, contribution in local business and interpersonal routines implies a
    way oof energetic assistance and community awareness – good
    character qualiyies for almost any business or professional service considerations.

    Request abouit constant rates and discover when the plumber may give
    an estimation on the phone. Several electricians will not present an estimate without
    observing the problem, but you can consult for a ballpark figure
    for your particular problem.

    Some crisis electriians furthermore charge a site contact in addition to the constant fee annd parts.

    This charge applies if thewy arrive at your house whether
    they repair the problem or not.

    Request what forms of transaction they’ll recognize.
    Some electricians take credit cards, but others will only take checks.

  89. December 7, 2013

    I comment whenever I appreciate a article on a
    site or I have something to add to the discussion. Usually it is triggered by the sincerness communicated in the
    post I looked at. And on this article Bespin and Canvas:
    Part 1 | Ben Galbraith’s Blog. I was actually moved enough to
    drop a thought ;) I do have 2 questions for you if it’s allright.
    Is it simply me or do some of these remarks appear like they are coming
    from brain dead folks? :-P And, if you are posting at additional online social sites, I’d like to follow you.
    Would you make a list the complete urls of all your community sites like your linkedin profile, Facebook page or twitter
    feed?

  90. December 11, 2013

    Еxcellent website. Plenty of usefuhl informаtiοn
    here. I am sening it too a few buddies ans also ssharing in delicious.
    And naturally, thank you on youг effort!

  91. January 4, 2014

    Hey excellent blog! Does running a blog similar to this require a large
    amount of work? I’ve no understanding of programming however I had been hoping to start my own blog soon.

    Anyways, if you have any ideas or techniques
    for new blog owners please share. I know this is off topic but I simply
    had to ask. Cheers!

  92. January 20, 2014

    One of the players is already in the Pro Football Hall of Fame, and the fact
    that he held the NFL record for most receptions in a game for 50 years probably
    helped his chances of being selected. You can peruse a
    map of the course, or you can examine the scorecard for any guidance.

    For example, researching the iron technology will allow your mines to produce more resources, and the scientific method technology will improve your science research.

  93. January 22, 2014

    “Bespin and Canvas: Part 1 | Ben Galbraith’s Blog” ended up being
    a delightful posting, cannot wait to look over far more of ur articles.
    Time to squander some time on the web lol. Thanks a lot ,Georgianna

  94. January 26, 2014

    Thanks designed for sharing such a good thinking, article is nice,
    thats why i have read it completely

  95. January 27, 2014

    Thank you for sharing your info. I really appreciate your
    efforts and I am waiting for your next post thanks once again.

  96. February 24, 2014

    I was pretty pleased to find this page. I wanted to thank you
    for your time for this particularly fantastic read!! I definitely appreciated every little bit of it and I have you saved to fav
    to see new stuff on your site.

  97. March 3, 2014

    Heya i’m for the first time here. I found
    this board and I find It truly useful & it helped me out a lot.

    I hope to give something back and aid others like you helped me.

  98. March 3, 2014

    No matter if some one searches for his vital thing, therefore he/she desires to be
    available that in detail, thus that thing is maintained over here.

  99. March 3, 2014

    I visited various websites except the audio quality for
    audio songs current at this web page is actually fabulous.

  100. March 3, 2014

    Hello I am so glad I found your weblog, I really found you by
    accident, while I was searching on Aol for something else, Regardless I am here now and
    would just like to say thank you for a remarkable post and a all round thrilling blog (I also love the
    theme/design), I don’t have time to read through it all at the minute but I
    have book-marked it and also added your RSS feeds, so when I have time I will be back to read more, Please do keep up the fantastic b.

  101. March 3, 2014

    My brother recommended I may like this blog. He was entirely right.

    This submit actually made my day. You can not believe simply how much
    time I had spent for this info! Thanks!

  102. March 3, 2014

    Hi there, yup this post is genuinely pleasant and I have learned lot
    of things from it on the topic of blogging.
    thanks.

  103. March 3, 2014

    WOW just what I was searching for. Came here by searching for colorado accident attorney

  104. March 10, 2014

    Woah! I’m really digging the template/theme of this site.
    It’s simple, yet effective. A lot of times it’s very difficult
    to get that “perfect balance” between superb usability and visual appearance.
    I must say that you’ve done a great job with this.
    Also, the blog loads very quick for me on Chrome.
    Superb Blog!

  105. March 12, 2014

    magnificent submit, very informative. I’m wondering
    why the opposite specialists of this sector do not realize this.
    You must proceed your writing. I am sure, you’ve a huge readers’
    base already!

  106. March 12, 2014

    I like what you guys are usually up too. Such clever
    work and reporting! Keep up the great works guys I’ve you guys to blogroll.

  107. March 12, 2014

    This is my first time pay a visit at here and i am actually pleassant to read all at single place.

  108. March 15, 2014

    Kids should not be pressured by any particular part of the
    game so they will continue to associate the games they are playing with relaxation
    and entertainment, and thus they will maintain their love for
    playing the game and learning the English language. “My whole head went flying to the side,” she
    explained. is located which might consist of seasonal candy or cookies, gift certificates, toy
    gadgets, school supplies, or any number of fun prizes.

  109. March 16, 2014

    Incredible! This really is one of the most useful blogs
    we’ve ever came across on this subject. Actually excellent.
    I’m likewise a professional in this subject as a result I can understand your effort.

  110. March 18, 2014

    whoah this weblog is excellent i like studying your articles.
    Stay up the great work! You realize, a lot of individuals
    are searching around for this information, you could aid them
    greatly.

  111. March 18, 2014

    Very good article. I am dealing with some of these issues as
    well..

  112. March 18, 2014

    When some one searches for his essential thing, so he/she wishes to be available that in detail, so that thing is maintained over here.

  113. March 18, 2014

    Hi, of course this paragraph is in fact good and I have learned lot of things from it about blogging.
    thanks.

  114. March 18, 2014

    Good post. I certainly appreciate this website. Thanks!

  115. March 18, 2014

    Thanks for some other magnificent article. Where else could anybody get that type of info
    in such an ideal approach of writing? I’ve a presentation next week, and I’m at the search for
    such info.

  116. March 18, 2014

    Article writing is also a excitement, if you know after that you can write otherwise it is difficult to write.

  117. March 18, 2014

    Thanks in favor of sharing such a fastidious idea, post is pleasant, thats
    why i have read it entirely

  118. March 18, 2014

    I have read so many content on the topic of the blogger
    lovers however this post is genuinely a good post, keep it
    up.

  119. March 18, 2014

    This is really interesting, You’re a very skilled blogger.
    I have joined your rss feed and look forward to seeking
    more of your wonderful post. Also, I’ve shared your site in
    my social networks!

  120. March 18, 2014

    I really like what you guys are usually up too.
    This sort of clever work and coverage! Keep up the superb works guys I’ve
    included you guys to our blogroll.

  121. March 18, 2014

    It’s amazing to pay a visit this web page and reading the views of all friends concerning this paragraph, while I
    am also eager of getting experience.

  122. March 18, 2014

    Howdy! This article couldn’t be written any better! Looking at this post reminds me of my previous roommate!
    He constantly kept talking about this. I most certainly will forward this information to him.
    Pretty sure he’s going to have a very good read. Thanks for sharing!

  123. March 18, 2014

    Greetings from Los angeles! I’m bored to tears at work so I decided to browse your site on
    my iphone during lunch break. I love the info you provide here and can’t wait
    to take a look when I get home. I’m amazed at how fast your blog loaded on my mobile ..
    I’m not even using WIFI, just 3G .. Anyways, good site!

  124. March 18, 2014

    I was recommended this website by my cousin.
    I am not sure whether this post is written by him as nobody else know such detailed about my trouble.
    You’re wonderful! Thanks!

  125. March 18, 2014

    Good information. Lucky me I found your website by accident (stumbleupon).

    I have saved it for later!

  126. March 18, 2014

    Whats up this is kind of of off topic but I was wondering if blogs use WYSIWYG editors or if you
    have to manually code with HTML. I’m starting a blog soon but have no coding experience so I wanted to get
    advice from someone with experience. Any help would be
    enormously appreciated!

  127. March 18, 2014

    Wow! After all I got a blog from where I can really get helpful data concerning my study and
    knowledge.

  128. March 18, 2014

    Hi, There’s no doubt that your site may be having web browser compatibility issues.

    When I look at your website in Safari, it looks fine
    however, when opening in Internet Explorer, it has some overlapping issues.
    I just wanted to give you a quick heads up! Besides that, fantastic site!

  129. March 18, 2014

    You made some really good points there. I looked on the web to find out more about the issue
    and found most people will go along with your views on this web site.

  130. March 18, 2014

    Hmm it seems like your blog ate my first comment (it was extremely
    long) so I guess I’ll just sum it up what I wrote and say, I’m thoroughly
    enjoying your blog. I as well am an aspiring blog
    blogger but I’m still new to everything. Do you have any tips and hints for first-time blog writers?
    I’d definitely appreciate it.

  131. March 20, 2014

    Hiya very cool site!! Man .. Beautiful .. Superb .. I will bookmark your website and take the feeds additionally?

    I’m satisfied to search out numerous useful info right here within the put up,
    we want work out more strategies in this regard, thanks for sharing.
    . . . . .

  132. March 20, 2014

    Greetings! Very helpful advice in this particular article!
    It’s the little changes that make the largest changes.

    Thanks for sharing!

  133. March 21, 2014

    Hello! I’ve been following your weblog for a long time now and finally got the bravery to go ahead and give you a shout out from Houston Tx!
    Just wanted to say keep up the great work!

  134. March 21, 2014

    What i don’t understood is in fact how you are no longer really a lot more neatly-liked than you may be
    right now. You are very intelligent. You realize thus significantly with regards to this matter, made me individually consider
    it from so many various angles. Its like men and women are not
    interested except it is one thing to do with Lady gaga!
    Your personal stuffs outstanding. Always maintain it up!

  135. March 21, 2014

    I think this is among the most important information for me.
    And i’m satisfied reading your article. However want to commentary on few basic issues,
    The web site taste is great, the articles is truly nice :
    D. Just right job, cheers

  136. March 22, 2014

    Thanks for sharing your thoughts about driver genius professional 14 crack.
    Regards

  137. March 25, 2014

    I know this if off topic but I’m looking into starting my own blog and was curious what all is needed to get set up?
    I’m assuming having a blog like yours would cost a pretty penny?

    I’m not very internet savvy so I’m not 100% positive. Any recommendations or advice would be greatly appreciated.
    Thank you

  138. March 25, 2014

    I used to be very happy to search out this net-site.I needed
    to thanks for your time for this excellent read!!
    I positively having fun with each little little bit of it and I’ve you bookmarked to check out new stuff you blog post.

    Can I simply say what a relief to search out someone who actually knows what theyre speaking
    about on the internet. You undoubtedly know the right way to convey an issue to
    gentle and make it important. Extra folks need to learn this
    and understand this side of the story. I cant believe youre not more widespread since you undoubtedly have the gift.

    very nice publish, i actually love this web site, keep
    on it

    It’s onerous to search out educated individuals on this subject, however you sound like you know what you’re speaking about!
    Thanks
    You need to participate in a contest for probably the greatest blogs
    on the web. I’ll suggest this web site!

    An fascinating dialogue is value comment. I
    feel that it is best to write more on this subject, it might
    not be a taboo subject however typically persons
    are not enough to speak on such topics. To the next.
    Cheers

    Hi there! I simply wish to give a huge thumbs up for the great data you could have here on this post.
    I shall be coming again to your weblog for extra soon.

    This actually answered my problem, thanks!
    There are some fascinating cut-off dates in this article however I don’t
    know if I see all of them heart to heart. There may be some validity however I’ll take hold opinion
    till I look into it further. Good article , thanks and we want more!

    Added to FeedBurner as well
    you could have a fantastic blog here! would you prefer to make some invite posts
    on my weblog?
    After I originally commented I clicked the -Notify me when new
    feedback are added- checkbox and now every time a remark is added
    I get 4 emails with the identical comment. Is there
    any means you’ll be able to remove me from that service?
    Thanks!
    The following time I read a blog, I hope that it doesnt disappoint me
    as much as this one. I mean, I do know it was my option to read, however I actually thought youd have something interesting to say.

    All I hear is a bunch of whining about one thing that
    you may fix if you happen to werent too busy searching for attention.

    Spot on with this write-up, I truly think this web site needs
    rather more consideration. I’ll most likely be once more to read far more, thanks for that info.

    Youre so cool! I dont suppose Ive learn something like
    this before. So nice to search out any individual with some unique thoughts on this subject.
    realy thank you for starting this up. this web site is something that is needed on the net, someone with a
    little bit originality. helpful job for bringing something new to the internet!

    I’d must check with you here. Which is not one thing I normally do!
    I take pleasure in studying a post that may make people
    think. Additionally, thanks for allowing me to remark!

    That is the correct weblog for anybody who needs to
    search out out about this topic. You understand a lot its almost onerous to argue
    with you (not that I truly would want…HaHa). You definitely put
    a new spin on a topic thats been written about for
    years. Nice stuff, simply nice!
    Aw, this was a really nice post. In concept I would like to put in writing
    like this moreover – taking time and precise effort to make an excellent article… but what can I say… I procrastinate alot and in no way seem to get something done.

    I’m impressed, I have to say. Really hardly ever do
    I encounter a weblog that’s both educative and entertaining, and let me inform you, you have hit the nail on the head.
    Your idea is excellent; the problem is something that
    not sufficient persons are speaking intelligently about.
    I am very glad that I stumbled across this in
    my seek for something relating to this.
    Oh my goodness! an incredible article dude. Thanks Nevertheless I’m
    experiencing concern with ur rss . Don’t know why Unable to subscribe to it.
    Is there anybody getting similar rss downside?
    Anyone who is aware of kindly respond. Thnkx
    WONDERFUL Post.thanks for share..more wait
    .. …
    There are certainly lots of particulars like that to take
    into consideration. That could be a great level to bring up.
    I provide the ideas above as common inspiration however clearly there are questions just like the
    one you convey up the place a very powerful thing can be working in honest good faith.
    I don?t know if best practices have emerged around issues like that,
    however I am certain that your job is clearly identified as a fair game.
    Each boys and girls feel the influence of just a moment’s pleasure,
    for the remainder of their lives.
    A formidable share, I simply given this onto a colleague who was
    doing a little evaluation on this. And he the truth is bought me breakfast as a
    result of I discovered it for him.. smile. So let me reword
    that: Thnx for the deal with! However yeah
    Thnkx for spending the time to debate this, I feel strongly about it and love reading extra on this topic.

    If attainable, as you grow to be experience, would you mind updating your weblog with more particulars?

    It’s extremely helpful for me. Big thumb up for this weblog post!

    After examine just a few of the blog posts on your web site
    now, and I really like your means of blogging. I bookmarked it to my bookmark web site record and will probably be checking back soon.
    Pls check out my website online as properly and let me know what you think.

    Your place is valueble for me. Thanks!…
    This website online is known as a walk-by means of for
    the entire info you needed about this and didn’t know
    who to ask. Glimpse right here, and also you’ll undoubtedly discover it.

    There’s noticeably a bundle to learn about this.
    I assume you made certain nice factors in
    options also.
    You made some respectable points there. I regarded on the web for the issue and
    located most people will associate with with your website.

    Would you be excited about exchanging hyperlinks?
    Good post. I be taught one thing tougher on different blogs everyday.
    It will at all times be stimulating to read content material from other writers and follow a little one thing from their store.
    I’d want to use some with the content on my weblog whether you don’t mind.
    Natually I’ll provide you with a hyperlink in your net blog.
    Thanks for sharing.
    I discovered your blog website on google and test a couple of of your early posts.
    Continue to maintain up the very good operate. I simply additional up your RSS feed to
    my MSN News Reader. Looking for ahead to reading more from
    you afterward!…
    I am often to blogging and i actually appreciate your
    content. The article has actually peaks my interest.
    I’m going to bookmark your web site and keep checking for new

  139. April 5, 2014

    Attractive section of content. I just stumbled upon your blog and in accession capital to assert
    that I acquire in fact enjoyed account your blog posts. Anyway I’ll be
    subscribing to your feeds and even I achievement you access consistently fast.

  140. April 5, 2014

    Right here is the perfect web site for anybody who wishes to understand
    this topic. You realize a whole lot its almost hard to argue with
    you (not that I actually would want to…HaHa). You certainly put a
    fresh spin on a subject which has been written about for a
    long time. Wonderful stuff, just great!

  141. April 5, 2014

    I have learn a few just right stuff here. Definitely worth bookmarking for
    revisiting. I wonder how much effort you set to make this sort
    of wonderful informative website.

  142. April 12, 2014

    I do believe all the ideas you have presented for your post.

    They’re really powerful and can surely work.
    Still, the posts are quite quick for beginners. Thanks for
    the post.

  143. April 15, 2014

    Asking questions are genuinely fastidious thing if you are not
    understanding anything totally, however this article provides pleasant understanding yet.

Trackbacks & Pingbacks

  1. Ajaxian » Canvas for a Text Editor?
  2. Bespin and Canvas: Part 2 « Ben Galbraith’s Blog
  3. Bespin and Canvas: Part 1 | Switch on the Code
  4. Top Posts « WordPress.com
  5. WebDevGeekly » Blog Archive » Episode 3
  6. Supporting the system clipboard in your Web applications; What a pain! on Dion Almaer's Blog
  7. HTML 5 VS AJAX : l’amputation sera nécessaire | E-vidence
  8. Knowtu » links for 2009-08-16
  9. OnlineEditor (Syntax-Highlighting) - AJAX (Asynchronous JavaScripting and XML) Forum
  10. Bespin, the cloud, and Canvas | Broken Links

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Basic HTML is allowed. Your email address will not be published.

Subscribe to this comment feed via RSS

Follow

Get every new post delivered to your Inbox.