They’re looking for a smart guy

Just another extract of many emails I get. Emphasis is mine, misspellings are theirs.


I found some interesting code you wrote, so I am writing you because we are looking for a very good developper to work on a state of the art webgl project.


We are looking for a smart guy that can work either as free lance, as en employee or through his own company. This project can start as soon as possible, and if you’d like to keep working with us we can provide work over a
long time, including on our Java and OpenGL other projects.

Let me know if you are interested, If you are not or cant, but know someone with the right skills please forward this offer to him

Eww, no way.

Web Components !== silver bullet

During and after the Web Components panel in Edge Conf 3 I witnessed something that left me super puzzled: it seems that people expect Web Components to be the solution to all the problems.

It might be due to the fact that WC are a confusing matter, that there are several ways to define and use them, that the spec is in constant change and there are also many dissenting voices about the whole business. Despite all this, Web Components are still HTML + JS + CSS. They are still subject to the same rules, principles and professional standards that all your code is/should be subject to already.

Yet I keep seeing people extremely concerned that “there will be crappy components” and “the need for performance” and “accessibility” and etc–Addy Osmani summarised it in a tweet:

When creating Web Components, keep in mind:

☑ Accessibility
☑ Performance
☑ Re-usability
☑ Responsiveness
☑ Namespacing
☑ Docs & Testing

and Paul Lewis expects/hopes all Web Components will be built upon three dead boring but essential pillars: accessibility, security and performance.

But this is how you should be developing anyway.

If you expect someone else to build components for you that will solve all your current and future issues: tough.

If you expect someone else to be responsible for you: tough.

Web components are just a tool that will enable you to write better and encapsulated front end code.

They are not a silver bullet that automagically makes everything work.

Just as we can have closures and functions and the code inside those doesn’t necessarily have to be seen from the outside, so you can do with web components, and write reusable pieces of code instead of dropping bunches of nested divs with lines-long class attributes into your DOM tree. But just as with closures or functions or any other technique or tool, using them doesn’t guarantee your success. Thinking otherwise is delusional.

EdgeConf London, Audio Tags, and Web MIDI


I am going to be in the Web Components panel at EdgeConf London tomorrow (21th of March).

Being the perfectionist nit-picky person I am, and having never been in a panel of this type, I’m obsessed with getting ready and reading as much as I can on the subject. Still have a bunch of proposed questions to go through, but I hope I’ll do good. Wish me luck!

The conference is supposedly going to be streamed live and talks recorded and professionally subtitled, which is awesome because speech recognition and my command of English don’t seem to mix.

Audio Tags

Also, I forgot to post about my latest Mozilla Hacks article: Audio Tags: Web Components + Web Audio = ♥. It is a write up on my CascadiaJS 2013 talk with the same name, only with better looking audio tags, less jetlag, and a lot of editing–thank Angelina for that!


Good things that came out of the article: somehow some people got to learn about my interest in Web Audio, then I showed my existing experiments and cried begged for Web MIDI in Firefox so I didn’t have to use node.js as intermediate actor. Then Kyle Machulis (also known as qDot) decided to take the Web MIDI API in Firefox bug. Which means that sometime soon we’ll have support for Web MIDI in Firefox. Which means that a little bit later we could have Web MIDI in Firefox OS and Firefox for Android. Which means… well, do you really need me to explain how cool that can be?

Imagine controlling synthesisers with your really portable device, or using MIDI input devices to control things in your phone… all in JavaScript? There is a huge range of portable audio devices specifically targeted at iPads: there is a market for portable audio creation. Why not making it easier?

But we need help. Kyle is also working on Gaia, and he can’t implement all himself. I’m glad the ever helpful Chris Wilson (one of my personal developer heros) is always keen to give advice (example), but we need more than that. Building Web MIDI support implies building a Hardware Access Layer (HAL for friends) between the browser ‘core’ and the MIDI interfaces for each operating system. We’re talking of at least three different HALs–Linux, Mac OS, Windows. And this is where you can step in and become another Firefox hero! If interested, ping me or Kyle or probably just ask in the bug.

On HSBC’s fraud detection algorithm and terrible customer service

You might have seen a somewhat obscure tweet from me yesterday:

I thought that this MASSIVE SHIT SHOW couldn’t fit in a few tweets or even make justice to the awfulness of it all, so I decided to tell the whole story here, given that HSBC’s customer service won’t listen to my complaints (or to anything at all, actually).

Warning: this is a long post.

Continue reading