The Bamboo Blog

Our thoughts on agile development and web technology

  1. Makoto Inoue

    Translation of Matz Q&A article after joining Heroku

    by

    Note from translator:

    This is a translation of an article from “PublicKey” - Enterprise IT x Cloud Computing x Web Technology / Blog.

    Mr Junichi Niino kindly allowed me to translate his original article from Japanese to English.

    Also, special thanks to @knowtheory for editing my translation.

    Title: “I am looking forward to accelerating Ruby’s progress” - Q&A with Matz regarding joining Heroku as a chief architect.

    Date: 13th July 2011

    Introduction

    As mentioned in my previous article, It has been announced that Yukihiro Matsumoto (Matz) is joining Heroku as Chief Architect of Ruby. I asked Matz about the story behind his future role via email.

    Continue reading

  2. Oliver Nightingale

    Degradable JavaScript Applications Using HTML5 pushState

    by

    What is the problem?

    Using the location hash to keep track of current page state and enable back button navigation is more and more common with large, full featured, client side JavaScript apps. Whilst the behaviour this gives is definitely an improvement to the user experience, implementing this with the location hash has some shortcomings.

    Thankfully, as with everything else on the web, HTML5 is here to solve all your problems, with two methods and an event, pushState, replaceState & onpopstate.

    What is pushState?

    pushState & replaceState

    The history object gains two new methods, pushState & replaceState, that allow us to change the current location of the browser without making an HTTP request. These new locations are stored in the browsers history so that both the back and forward button work as expected.

    Continue reading

  3. Makoto Inoue

    Learning Japanese the Rubyist way

    by

    • Introduction
    • Step 1: How to read Japanese characters
    • Step 2: Japanese and OO
    • Step 3: Japanese and functional
    • Step 4: Writing Japanese programming language in Ruby
    • Summary
    • Ruby Advent Calendar

    Introduction

    Have you ever thought about learning Japanese, but it looks too difficult to learn?
    Surprisingly, Japanese and Ruby share some common features and concepts. This is a shortcut version of my presentation called “Japanese and Ruby” which I presented at LRUG.

    When you finish reading this post, hopefully you find Japanese language less magical, and may even add “Learn Japanese” to one of your 2011 new year resolutions.

    Learning a new language always has a bit of steep learning curve. Go and get some coffee before you start!!

    Continue reading

  4. Makoto Inoue

    Ruby divide at RubyKaigi 2010 and what can you do as a Rubyist? (Part 1)

    by

    Ruby divide at RubyKaigi 2010 and what can you do as a Rubyist? (Part 1)

    Introduction

    It is almost 2 weeks since RubyKaigi finished. For full details of the conference, check out Jake Scruggs’ near real time report.

    Ruby Kaigi was one of the most memorable conferences I have ever attended. There were countless efforts by volunteer staff to make the conference as enjoyable as possible. I met lots of interesting people and enjoyed every conversation in the conference hall, hallways, and Izakaya . All the topics discussed there were very thought provoking.

    Continue reading

  5. Max Williams

    Adding awesome mini views to your web apps

    by

    In a couple of our internal apps, we use a UI design paradigm that we affectionately call an “awesome bar”. I really like these, and I think they make many types of applications much more useful and intuitive. While they have generally been hard to create in web apps, the introduction of canvas and inline SVG has made them a synch to put together. I see a lot of great examples of canvas and SVG that are absolutely mind-bending to look at, but very few examples which enhance the traditional applications and websites we use on a day-to-day basis.

    I won’t claim to have invented these, but I was reminded of how cool they are recently when I read this post: http://blog.asmartbear.com/creativity-over-optimization.html. I will give a brief explanation of what these are with some examples, why I think they rock, and some sample code.

    Continue reading

  6. Pablo Brasero

    HTML5-powered Ajax file uploads

    by

    10/January/2012
    This information is out of date. See the followup article on FormData.
    21/October/2010
    Added the Firefox! section

    Introduction

    File uploads have traditionally had very bad usability on the web. The standard solution was uploading files as part of a form, leaving the user to just wait until the process was done. We could offer barely any feedback of what was going on.

    Several options appeared to make the process more bearable for the user. Some alternatives were client-based, such as using some Flash-powered element like SWFUpload. Other alternatives laid more on the side of the server, like leveraging Nginx's mod_uploadprogress with a pinch of Ajax. However, there was still the question of why there was no solution that avoided proprietary technology, required minimal hassle OR was free of far-fetched hacks.

    Continue reading

  7. Makoto Inoue

    Living on the edge of the WebSocket protocol

    by

    • Introduction
    • Getting Info
    • So What’s Changed?
    • What about version incompatibility?
    • Summary

    Introduction

    Hello. It’s been a while since I last blogged about WebSocket. It’s been exciting that many new frameworks and services are out including our own Pusher.

    Having said that, we have to be aware that the protocol is still actively being changed.

    Just a few weeks ago, there was an important announcement at Chromium blog.

    Continue reading

  8. Gwyn Morfey

    Client Patterns: Going Beyond the Stealthholder

    by

    Patterns aren’t just for software design. We can find generally reusable solutions to common problems in handling clients.

    Taking simple actions early can avoid serious problems with the client relationship later on. After seeing this work a couple of times, I ran a workshop at XP2010 where we developed detection heuristics and early interventions for several classes of difficult* clients.

    The Stealthholder

    Also featured in our ‘Sword and Other Tales’ presentation, the Stealthholder is a stealthy stakeholder who appears from nowhere at the end of a project and turns a success into a failure. This might just because an entire area of critical requirements was missed, but can also happen when the continuous process of redesign throughout the project doesn’t reach them, so they get a sudden shock at the final demo. War stories for this one were surprisingly common; my personal experience is with a high-ranking person who appears only at the beginning and end of a project, but others had encountered variants where the stealthholder is always visible but their apparent position in the hierarchy misstates their real power, or where the person is visible for the very first time at the end of the project.

    Continue reading