Creating My First Google Chrome Extension – Part 3

PART 1 | PART 2 | PART 3 I was looking forward to wrapping this extension up within the first couple days of xmas break (my workplace shuts its doors between Christmas and New Year’s), but then every single one of my kids got sick in turn. All of them. It was a crappy week. But now it’s finally done (I also wrote about it here and here), and I can generate bookmarks from Pinboard tags the way I wanted. All in all, a good learning experience. If you want to check it out, it’s in the Chrome store. »

Creating My First Google Chrome Extension - Part 2

PART 1 | PART 2 | PART 3 I started writing my first browser extension a couple weeks ago, and though my spare time has been pretty limited I've made some (never as much I'd like) progress. I left off last time with (finally!) figuring out how to authenticate to the Pinboard API. As with so many things, once I knew the answer I couldn't believe I didn't figure it out sooner. There are a number of reasons it might fail, but in my case I needed to add the API URL to the list of permissions in the manifest.json file. »

Creating My First Google Chrome Extension - Part 1

PART 1 | PART 2 | PART 3 Something’s been nagging me… I’ve been on this kick recently, trying to untangle myself from my reliance on all things Google. Their services are great, and I don’t mean the following to be a rant, but a few things worry me… Should I put all my eggs in one basket? It seems unlikely, but if Google goes down or gets hacked, or sees fit to freeze my account for some reason, I’m screwed from every angle. I lose my email, calendar, documents and photos, contacts, bookmarks, passwords… everything. Wisdom seems »

Weeks 5 and 6 of HTML5 with the W3C – New inputs! Forming forms! All the APIs!

The HTML5 class ended a few days ago. The last couple of weeks were a whirl-wind of new information, covering Forms and APIs. The new APIs are really interesting, allowing you to cache data (sans cookies), manipulate files, use geolocation, and more. Forms, on the other hand… I mean, they’re Forms. No matter how you dress that up, or how clever you try to get with it, you’re still just collecting information from someone. YAWN So here are a few things that piqued my interest these last couple weeks. Pseudo-classes When you validate input fields using some client-side »

Week 4 of HTML5 with the W3C - Interacting! Moving all the things!

The focus for week 4 of the W3C HTML5 course was animation. We’ve been displaying a lot, but it’s been fairly static up to this point. This week, we learned about events, interacting via the keyboard and mouse, and the three steps of animation: Clear the canvas Draw the items on the canvas Move the items (won’t take effect until the loop iterates, and you clear the screen and draw again) It sounds simple once you know it, but only in hindsight. I knew we were going to learn about animation, but wasn’t sure how exactly »

Week 3 of HTML5 with the W3Cx/edX - Canvases

Week 3 of the Learn HTML5 from W3C course taught us about the Canvas element, along with the shapes you can draw on it and how it can be manipulated. These work in the major browsers (except for IE, ugh). Graph Sample This first sample is a simple graph I created. It demonstrates manipulating the current context (such as translating, rotating and changing the opacity), as well as listening to events and taking action (in this case, the “input” events on the sliders). It needs work – the top of the graph is cut off slightly, probably due to some faulty »

Week 2 of HTML5 from the W3C - Creating Videos

Just finished up week 2 of the Learn HTML5 course authored by Michel Buffa and the W3C, and frankly it’s kicking my butt. It’s my fault. I’m trying to not just passively read the material, but to put what I’m learning to use. Last week, I latched on to microdata, installing a new plugin for my blog, and checking out what kind of meta data it added to the source code. This week, the focus was on media elements, specifically the Video and Audio elements. Since Audio is basically a subset of the Video element, I »