Rowlando’s Blog
(I’m not a Brazilian football player)

JavaScript – Platform as a Service

Watching interesting talk by James Duncan.


Posted by Nick on September 26th, 2010 :: Filed under Uncategorized
Tags ::

Geek nights, hack days and demo evenings

Last night I attended the South London Geek Night in The Bedford and I was impressed by the high calibre speakers. I now know NoSQL is a movement, not a technology, courtesy of Hugocheck out the slides. The talk from Makitó Labs was inspiring. To get the Vote For Policies up and running in less than two weeks, whilst holding down a day job and funding it themselves, was a lesson to us all that persistence and hard work in indeed worth it. The lightning talks were brilliant too. I loved the talk on Dynamic Pub Table Configuration Protocol. Hilarious!

A couple of weeks ago I joined in the fun at the inaugural Science Hackday hosted at The Guardian’s HQ in Kings Cross. Jen and I made a fun, random comparison generator. We called it How Fast Am I but you can also get comparisons for height, distance and time. Go on, give it a try:

http://how-fast-am-i.heroku.com/

The next geek event I’m off to is the Paypal and Yahoo Developer Challenge demo evening. It’s hosted at TechHub, a new venue for tech startups. This will be a good opportunity to have a nosey.


Posted by Nick on July 15th, 2010 :: Filed under events

Stuff I want to check out soon

Over the past few weeks I have come across a number of tools, libraries, etc… that I hope to check out soon.

I’ve noticed Firefox has gotten slower with each new release. I am looking for a replacement development browser and have read today that WebKit’s WebInspector has recently been overhauled and seems to be a great alternative to Firebug.


Posted by Nick on November 10th, 2009 :: Filed under development,Uncategorized

svn: PROPFIND request failed on…

I had some problems checking out from Subversion. I got the error message:

svn: PROPFIND request failed on '/xxx
svn: PROPFIND of '/xxx: could not connect to server (http://xxx.xxxxx.com)

After a bit of searching, Vernon suggested it could be proxy server settings. I checked them by opening up a terminal and typing:

vim ~/.subversion/servers

Scrolling down to the line starting with http-proxy-host it was obvious I had set a proxy previously as it was pointing to a previous clients internal proxy server. I haven’t command-line subversion client on my Mac for a while because I’ve being using the svn client installed in Aptana. Commenting out the offending lines fixed my problems.


Posted by Nick on October 21st, 2009 :: Filed under development,mac

Continuously test your front-end code automatically

When I worked at The Guardian, before committing code to Subversion, unit tests were run against the Java codebase. This is pretty standard. Sometimes, things slipped through and were caught at the Continuous Integration stage where an automated build would perform deeper tests and verify the code integrations of each developer hadn’t broken anything. This approach works extremely well.

When it came to the front-end, the only tests that were run was pushing JavaScript code through JSLint. This wasn’t set up as a pre-commit hook. Rather, it was up to the developer to execute a command-line script that performed these tests. I am in no way complaining about this. It was the first and only place I have worked that actually bothered to set up any formal testing of front-end code.

A few months ago I went to a presentation given by Neil Crosby at Skills Matter. Neil spoke about a project he has been working on that addresses the lack of automated frontend testing.

Most web developers will occassionally validate HTML and CSS, and put their JavaScript through JSLint. If this were automated, a lot of time would be saved. Some bugs can take hours to fix and in the end, for example, all that was missing was a closing span tag in the HTML.

Neil’s come up with a framework, called Frontend Test Suite, that automatically runs frontend code through the above tools. The suite is built in PHP and it is recommended that you install local copies of the HTML Validator, CSS Validator and JSLint so your IP doesn’t get banned.

I followed Neil’s installation steps in the file SETUP, which are briefly listed here:

  1. Installed PHP (didn’t really because it’s already installed with Mac OS X 10.5.7
  2. Installed PEAR
  3. Installed PHPUnit
  4. Downloaded Frontend Test Suite
  5. Installed HTML Validator locally
  6. Installed CSS Validator locally (thanks Jen)
  7. Installed Rhino
  8. Downloaded JSLint.js

I use Aptana regularly so, alongside the project I’m currently working on, I created a new project, dumped the Frontend Test Suite files into it and made the necessary edits to the example file. I execute the tests via the command line but at some point I will set up Aptana so I can execute it from there.

Next I need to workout how to get subversion to run these tests pre-commit.


Posted by Nick on May 29th, 2009 :: Filed under css,development,html,javascript

HTML 5: What’s in it for us?

Ian Hickson, the editor of the HTML 5 specification, was interviewed by Bruce Lawson earlier this month. Ian listed a few things we can look forward to in HTML 5:

Long term, content authors will find a variety of new features in HTML 5. We have a bunch of new structural elements like section, article, footer, and so on. We have new elements for embedded media, like video and audio. We have new input controls, like the calendars I mentioned, but also fields for URLs, e-mail addresses, telephone numbers, and for color selection. We have control over autocomplete values in text fields, as well as field validation so that you can say which fields are required. We have context menus, pushState() so you can update the URL in Ajax applications, and offline application cache manifests so that your users can take your applications offline. The list goes on.

Ian expects the HTML 5 spec to be in its final stages by October 2009. Browser vendors have already started to include support for some HTML 5 elements, e.g. the video and audio elements. As Ian points out in the interview, browsers, which are constantly evolving, are an implementation of the spec, and will never be HTML 5. A browser’s implementation will only ever be a subset or superset of HTML 5.

HTML 5 will make life as a web developer much simpler. Field validation on its own reduces a great deal of complexity. With the inclusion of ARIA attributes too, the web will become much richer and more accessible to all over the coming years. Talking about evolution in the browser world always brings one back to the same question – how to deal with IE6′s refusal to die? I like Andy Clarke’s idea about Universal Internet Explorer 6 CSS. Day by day I sense I am coming closer to the momentus event of a client saying “don’t worry about IE6″. Supporting an 8 year old piece of software is a nonsense and soon the tide will turn, before the end of the 2009 I hope. Budgets will shift from supporting the lowest common denominator to growing technologies like the proven appetite for mobile web applications, I hope. My path to insanity will stop then, I hope.

I think working in the web development industry, which is unique in that it spans all work sectors, will soon start to get exciting again. Accessibility doesn’t have to be a reason to stifle creativity, although ARIA isn’t a fix for all issues so diligence is still required. And functionality will not need to be hampered anymore because of the limitations of an 8 year old browser. I’m writing from the perspective of a web developer who attempts to make websites that are inclusive for all users. I know there has been a great deal of innovation in the industry, pushing the boundaries with JavaScript, Flash, Silverlight, etc… But making use of these technologies and trying to remain accessible to all is a very expensive business. Budgets are never big enough.

The sooner HTML 5 is baked into browsers, the sooner screen reader users upgrade to WAI-ARIA compatible screen reader software, the sooner corporate IT departments drop IE6, the better the web will be for all, I hope.


Posted by Nick on May 22nd, 2009 :: Filed under accessibility,ie6

G1 browser supports window.print() function is silly

Today I thought I’d see how the website I’m currently front-end developing looks my phone’s browser, the G1. It was simple to view since the G1 has wi-fi so I typed in my laptop’s IP address followed by the path to the website. Renders great! Well it would, because the browser is based on Webkit.

There was one thing that irked me. The “print this page” link was present on the page.

The “print this page” link is inserted via JavaScript because JavaScript must be present in order to execute the window.print() function. Of course, I test for the presence of the function before inserting the link into the page, e.g. if(window.print) {…}.

So the browser is capable of printing but the device is not. For the most part users wouldn’t bother clicking on this link but still it feels wrong. I don’t know if the browser is aware of what device or operating system it is running on or if it knows of the device’s capabilities. I’m guessing that it doesn’t. In the case of the G1, the browser is based on Webkit and a fair bit of custom development has gone on. I don’t know if the JavaScript engine is tinkered with. If it is it would seem like an obvious thing to remove.

In a wider context, PPK touches on a similar topic in his blog post about testing mobile browsers. He says there’s a new class of browser compatibility errors: when browsers are unable to make full use of the device’s capabilities. I don’t know how to class what I have written about but I wouldn’t necessarily class it as a browser compatability error.

I’m sure more functions could be stripped from the JavaScript engine of a mobile device’s browser. The example above it pretty edge-case stuff but I expect as mobile browsing takes off these things will need fixing.


Posted by Nick on March 12th, 2009 :: Filed under javascript,mobile

Nicole Sullivan: “Design Fast Websites”

A great presentation by Nicole Sullivan. I’ve watched this twice now!


Posted by Nick on February 21st, 2009 :: Filed under css

Virgin Media ISP does not traffic shape BitTorrent

The Glasnost Tool performs a series of tests to work out whether your ISP traffic shapes BitTorrent traffic. It seems that Virgin Media ADSL doesn’t (see the results), which comes as a surprise but is a good thing.


Posted by Nick on February 1st, 2009 :: Filed under general

Using G1 phone’s 3G connection on laptop

I am successfully using my G1′s 3G connection via my laptop. I followed the instructions on Graham Stewart’s website. I didn’t have instant success so googled for more info. I needed to turn go into Firefox’s config settings by putting about:config into the address bar. Ignoring the warning, I changed the setting for network.proxy.socks_remote_dns from false to true, then restarted the browser. Success!

I visited Speedtest.net to see what sort of speeds I was getting. Here are the results:

332 Kbs downloads, 332 Kbs uploads from T-Mobile International UK Limited ISP</code>

Not too bad!

In comparison, here is the connection speed via Virgin’s ADSL, not their cable broadband service:

6768 Kbs downloads, 854 Kbs uploads from Virgin Media ISP

Obviously my ADSL speeds are much faster, although the upload speed is only 2.5 times faster. The download speed is 20 times faster.

I’m pretty happy with my G1 so far. It came with a crap pair of headphones though, so on eBay I just purchased a 3 in 1 USB and 3.5mm adaptor. The adaptor has a 3.5mm headphone socket and two mini-usb ports. This means I can charge it whilst listening to audio. The adaptor was listed on eBay for £10.49 but I made an offer of £8 and it was accepted almost immediately.

I’ll report back if the adaptor doesn’t live up to expectations.


Posted by Nick on February 1st, 2009 :: Filed under phone
Tags ::