Clearing cache has no effect on HTML5 localStorage or sessionStorage (but clearing cookies does!)

The other day I attended a session on HTML5 and JavaScript at the East Bay HTML5 meetup. We had a demo of canvas and SVG by the folks at sparkart, a presentation on Modernizr by our host, Michael Enslow, and another on HTML5 storage by Andrew Hedges, who just posted his slides.

After Andrew’s presentation, somebody asked whether the content of HTML5 storage would survive the user clearing the cache, and nobody in attendance was certain. In retrospect, I’m sure I already knew the answer to this, somewhere in the bowels of my memory, but it eluded me at the time. But I got curious and decided to test it out:
Continue reading

Posted in HTML5, Web development | Tagged , , , | 17 Comments

Writing Browser Extensions

Today at the She’s Geeky unConference in San Francisco, I gave a presentation on Writing Browser Extensions. It’s something I’ve been immersed in for the last several months. I started out knowing nothing about them, and after getting up to speed and producing a browser extension with versions for Firefox, Chrome, Safari and Internet Explorer, I thought it would be fun to share what I’ve learned. We had a small group of very interested participants, and I showed them the very basics of what the simplest extension code looks like. Mostly it was more an overview of what extensions do and how they work. The more difficult browsers (IE and Firefox) have way too much detail to do justice in an hour, and as I told them, the easier ones (Chrome and Safari, and probably Opera although I haven’t taken a look at that one) are so straightforward and have such good documentation that nobody really needs me to explain coding details, you can just go read the docs and be on your way in no time. I promised to post a list of useful links, and here they are. Continue reading

Posted in Web development | Tagged , , , , , , | Leave a comment

The Impact of Graphic Design on Software Engineering

As a software engineer, it’s easy to think of graphic design and text composition as afterthoughts. They’re not functional. I make the software work, somebody else figures out what it should look like, and what it should say. But good writing and graphic design can actually have a big impact on the engineering task. Continue reading

Posted in Web development | 4 Comments

Learning WordPress both as blogger and developer

I recently started attending meetings of the East Bay WordPress Meetup Group, including today’s fun WordPress Plugin Hackathon, hosted and presented by Website in a Weekend‘s Dave Doolin and TechLiminal‘s Anca Mosoiu. (That’s pronounced “muh-show-you”, as in, “WordPress is easy and fun. Here, let Mosoiu!” Sorry, Anca, I just couldn’t resist ;-) .) I learned some cool stuff about hacking WordPress (in a good way), and also got some advice for beginning bloggers: “you should blog every day!” And despite my newbie-ness, I was able to contribute a bit by helping others debug their PHP a little.

Well, I don’t know if I’ll achieve every daynor that I really ought to! But let’s see if I can get myself in some kind of a habit, here. If you look at the dates on my posts, it’s obvious I’ve been a little sluggish getting into the swing of things. I will try to post more about what I’ve been up to lately. Let’s start with what I learned today! Continue reading

Posted in Web development | 4 Comments

Science for the Masses

I was honored to be invited to participate the other day as the “special guest scientist” at the weekly Science News Discussion put on by the Science Access Center. This is a brand new non-profit organization dedicated to bringing science to the general public. Each week they host an informal science discussion (in Berkeley, CA), bringing together members of the public and at least one scientist. This was just their second one ever. (They’re so new they don’t have their own website yet, which is why the links here are to Facebook.)

The discussion was wide ranging and certainly covered territory way beyond my expertise. It was both fun and humbling. I’m pretty sure this roomful of interested lay people who pay attention to science knew more science than I do. While I was scrambling to get lab results, publish papers, and keep up with the most esoteric minutiae of research related closely to my own, these folks had time to read up on nuclear physics, immunology, and volcanoes. Hopefully everybody learned a little something – I know I did!

Anyway, I was glad to be able to contribute in some small way to this fledgling organization in its early stages. Looking forward to seeing where this goes!

Posted in Biology | Tagged | 2 Comments

Whence the Widget?

Just added a new widget to my sidebar. It’s a red-letter day because I’m the one who just finished programming this widget, and it was just released today by the company where I work, Kachingle.

The new one does the same thing as the other one that was there already; it just looks different. (Sorry I haven’t had a chance to say much here about what these widgets are for; maybe that will be another post. But mouse over one of them and you’ll be on your way to finding out…)

In retrospect, it’s eye-opening for me to have seen what goes into creating something like this. We had a widget (the “Kachingle Medallion”) with two different display styles for our users to choose from, and we simply wanted to create a third design. Easy, right? It’s just a bit of art. But it took a long time!

Originally, there was just one Medallion style. Continue reading

Posted in Web development | Tagged , , , , , , , | Leave a comment

All Mimsy Were the Ribosomes!

I just came across the most wonderful find. Lewis Carroll meets Woodstock meets RNA (nature’s software). The 13-minute video Protein Synthesis: An Epic on the Cellular Level was filmed by students at my alma mater, Stanford University, in 1971. I later saw it in one of my biology classes there, and never forgot it. This is a classic. A dance and poetry interpretation of the chemical synthesis of protein molecules based on the genetic information encoded in the RNA.

The YouTube link happened to be mentioned in a discussion in the “Computational Biology” LinkedIn group about how to teach biology to programmers. I’m not sure this video will do the trick, but if you already know a little something about the process of protein synthesis (by analogy, the execution of the code), or just enjoy creative expression, you will find this really fun — especially if you have a fondness for the 60′s! I’m really glad I ran across the link.

Posted in Biology | Tagged , | 2 Comments

CSS3 text truncation and ellipses: even in Firefox, and without the styling constraints

[Update: This trick became obsolete when Firefox 4 was released in the first half of 2011, when Mozilla removed the features that made this workaround possible. So, for a time, there was no easy way in Firefox to get the text truncation with ellipsis at all. However, beginning with Firefox 7, text-overflow: ellipsis is finally supported. Yay!]

CSS3 provides a great convenience when it comes to truncating too-long text: the text-overflow property, which automatically selects the best truncation point and adds ellipses. Unfortunately, it doesn’t work in Firefox. There’s a hack to make Firefox do this, too, but it comes with tight constraints on the structure of your HTML, preventing any but the absolute simplest text styling. Here’s a way to get around those constraints and style your text however you want.

For my first “serious” post in this blog, I’m definitely diving into the deep end of the pool, because I am by no means a CSS expert; I’m not even all that good at it. But I seem to have hit upon the answer (or at least the last 10% of the answer) to a problem that other people are struggling with, too, so I thought I should share it – and get off my duff and finally launch this blog before I forget what I did! Continue reading

Posted in CSS3 | Tagged , , , , , , | 10 Comments

To Blog, or Not to Blog?

Okay, so I was finally convinced that I have to start my own blog. (Thank you, devchix, for the push.) I resisted for a long time. Does the blogosphere really need one more blog? The blogging “trend discovery” website blogpulse.com has identified 143,399,286 existing blogs as of this writing, with 46,832 new blogs in the last 24 hours alone! (Make that 46,833.) Seriously, who could think there’s any need for more? Even WordPress itself suggests that “… from this crowd of millions of bloggers, … [only a] few hundred thousand blogs… are actually visited.”

But apparently nowadays if you don’t have a blog, then you don’t fully exist, professionally. And it’s about time I existed. So here we go! I hope I can make this blog a little bit different from the other hundred and forty-three million!

Maybe my odd background will help with that. As the blog title and graphic hopefully convey, this blog will be inspired both by my past work as a research biologist and my current work as a web developer. I have returned to software development after many years away, and I knew nothing at all about web development before starting my current position at Kachingle in Feb. 2010. So I have been learning a ton of new things every day, and I’m sure they will give me something to write about now and then. I expect (but no guarantees) this will be a mix of technical and non-technical posts. They’ll probably be mostly about software and my software career but with a biologist’s perspective occasionally injected. And I have years of programming experience, yet am coming at many things as a beginner, which should add an interesting perspective to the posts, particularly the more technical ones.

Welcome, and I hope you enjoy!

Cartoon: First person: I have nothing to say. Second person: You should blog about it.

Posted in Uncategorized | 7 Comments