Slides from my Node.js Talk at Super Mondays
Last Monday I gave a short talk on Node.js at Super Mondays. You can get hold of the slide deck over on SlideShare.
Web Developer
Last Monday I gave a short talk on Node.js at Super Mondays. You can get hold of the slide deck over on SlideShare.
DIBI is a two track Web Conference that this year was held over the 7th and 8th June 2011 at The Sage, Gateshead. I'd been looking forward to it for ages, having attended last year's inaugral event and, as good as DIBI was last year, this year it was even better.
New to this year's event was the Afternoon with…Startups over at the Live Theatre, held the afternoon before the main conference. The venue was good, all the talks were really interesting and insightful – particularly those from Kevin Mann, Roan Lavery and Bobby Paterson – and I came away from it with plenty of new ideas and inspiration.
The next day was the main two track conference. The first talk of the day for me was Jake Archibald with @font-face – Good vs Legal. This was easily one of the highlights of the day. It was a brilliant talk with a brilliant slide deck brilliantly delivered (I would highly recommend watch the video of the talk when they're published shortly). He even used a Wii remote to change move onto the next slide
I stayed on the Build It track for the rest of the morning. Bradley Wright gave an insightful look into Programming the Real-Time Web. He covered the various ways that real time info can be sent and displayed in the browser, from the forever iframe approach to newer methods such as those provided by WebSockets and Socket.IO, and also how you can keep your real time web app accessible by using WAI-ARIA attributes.
Rounding out the morning session was Rich Thornett on Using NoSQL with Yo'SQL. It was an interesting look at how Dribbble makes use of MongoDB, where they've favoured it over relational databases and on how it can be used to eliminate N + 1 queries to help boost your site's performance.
First up after lunch was Corey Donohoe, with another one of the day's highlights for me. It was a fascinating talk on all the metrics they use at GitHub to help them deploy changes to their site really, really quickly. Front-end behaviour, back-end behaviour, performance and failure rates are all monitored using a variety of tools. Plus there was plenty on the awesomeness that is Hubot!
Next I hopped over to the Design It track for Jeremy Keith and his One Web talk. It was probably the most inspiring talks of the day. It focused on how the "mobile web" is a misnomer and shouldn't be treated as a separate entity, but instead by adopting a content first approach and focusing on universal access to the web from any device, you can end up with a much better, scalable and richer user experience.
After an exceptionally well timed Red Bull break, I headed back to Build It to catch Blaine Cook talk about Building the Social Kaleidoscope. It featured a really interesting look at Webfinger, what it is, how it works and how it can help to solve the problems identifying users on the Web when they're details are stored in multiple places and walled gardens.
The final talk of the day was the keynote from none other than Jeffrey Zeldman. Entitled What Every Web Designer Should Know, it was a very entertaining talk on the importance of designing from the content out, defining the problem before you try and solve it and, in a similar vein to Jeremy Keith, on how designing for mobile devices first can help you focus on what the user wants to do.
Overall DIBI was a fantastic conference, all the speakers were great and I came away feeling like I learnt a lot. Huge plaudits must go to Gavin Elliot and the team for all their hard work. Already I'm really looking forward to DIBI 2012.
Recently, while hacking around with some Python code I came up with a Gist for base58 encoding and decoding. Now, just for fun, I thought
it would be a good idea / exercise to port this over to JavaScript. This gave rise to encdec – a small base encoding / decoding library.
By default if uses base58 encoding, but it does let you pass it
your own base alphabet allowing you to do base16, base32 or base-whatever-you-like encoding.
Please have a play with it and let me know what you think
Just a quick post to say that http://doesgoogleusethekeywordsmetatag.com/ has
been updated with some HTML5 Boilerplate and HSL goodness
Tonight saw the return of the Lightning Talks at Super Mondays, with me doing a talk on HTML5 Form Validation. You can get the slide deck over on SlideShare.
- Don’t rely on other people to remove your totally fake “distractions.”
- Don’t rely on other people to pat your beret, re-tie your cravat, and make you a nice cocoa whenever that mean man on the internet points out that your “distractions” are totally fake. (Which they are)
- Don’t rely on other people to tell you when or whether you have enough information.
- Don’t rely on other people to define your job.
- Don’t rely on other people to “design your lifestyle.”
- Don’t rely on other people to decide when your opinions are acceptable.
- Don’t rely on other people to tell you when you’re allowed to be awesome.
- Don’t rely on other people to make you care.
- Don’t even rely on other people to tell you what you should or shouldn’t rely on.
if you ask a “what if?” question and leave it unanswered, you should be ashamed
When trying to run some Android unit tests, I was getting a java.lang.IllegalAccessError: cross-loader access from pre-verified class error. After Googling I came across this helpful answer on Stack Overflow, which linked through this article: Android Testing: External Libraries
Basically, the problem was being caused by me using an external jar file in my project and unit tests. There were 2 steps I needed to follow to fix things:
Et voilà – my unit tests were up and running. Getting them all to pass was another matter though
I've been having a play around with Python today trying to implement some base58 encoding / decoding. I'm by no means a Python expert but this is what I came up with (based on this PHP flic.kr super quick note):
Feel free to fork it or offer suggestions for improvements in the comments
I recently picked up a copy of JavaScript: The Good Parts and have been reading it on the train to and from work. Although the book's preface states that the book is targeted at programmers who are venturing into JavaScript for the first time
or who have been working with JavaScript at a novice level
I'm still finding it enjoyable to read and am managing to pick up a few tips along the way.
Two such tips that I picked up this week are:
throw statement you can use an object literal to give an exception a type and a message. For example:
throw {
type: 'FooError',
message: 'Invalid foo'
};
var add_the_handlers = function (nodes) {
var helper = function (i) {
return function (e) {
alert(i);
};
};
var i;
for (i = 0; i < nodes.length; i += 1) {
nodes[i].onclick = helper(i);
}
};