Nov11
Flip Text Jetpack
I was surprised when I didn't find a Jetpack that already did this. Who doesn't love the flipped-text Unicode trick? ˙op ǝɹns I Now you can flip text at will.
by Zach Carter
Nov11
I was surprised when I didn't find a Jetpack that already did this. Who doesn't love the flipped-text Unicode trick? ˙op ǝɹns I Now you can flip text at will.
Feb26
Engineering Expo was held at my university a couple of weeks ago. Its an event where schools and families travel from afar to see just how awesome engineering actually is. Really, its like a college level science fair, including tons of robots, cars, Tesla coils and other engineered eye candy. But what does the computer scientist have to offer in this environment? Hm?
How about, Firefox!
We had an open source day, but minus the source and plus the art:
This was an attempt to teach the ways of open source through art and a beloved open source project, Firefox.
Hundreds of kids, chaperons, and family members came through our open art exhibit. Almost all of them knew about Firefox, but almost none of them knew it was open source (or what open source was.)
These visitors left our exhibit with, at the very least, a notion of open source where there had been none before, and some sweet Firefox swag. ;)
- Open Art Project
In the absence of robots, I wanted to present something that could capture the attention of the kids and be accessible to them, but also teach something valuable. The idea for them to collaborate on art rather than source code formed from this. Yes, the image above was drawn by our visitors, along with five other posters filled with signatures and drawings.
I gave each group of visitors a brief explanation of Firefox and how, through open source, it was made possible. We then had the kids grab markers to help us fill in our posters. Hundreds of visitors signed names, doodled, and contributed.
Some kids were intimidated by the Firefox poster at first. They didn't want to blemish such a well established code ba- err, image. It's a feeling I'm familiar with... but Christine, the initial artist, reassured them, "It's just marker on paper - that's all it is." They were comforted by this notion, as evident by the finished poster.
As I surveyed each group, it was clear that very few students knew of open source, though most of them knew or had used Firefox - more so then the older family members and chaperons. A couple of high school students even admitted to knowing about Linux! Those poor souls...
What is clear to me though, is that Firefox has done what no other open source project has really done before. It has boldly gone into the realm of household name-age. Whether aware or oblivious, openness is being injected into the fleshy forearm of society, thanks to a little fox.
Overall, the experience of "open art day" was great, but the message delivered, I think, even greater.
I'd like to thank all the ACM volunteers who helped out and Mozilla for the swag packs! You can view some of the festivities of the day here.
Sep08
I had the bright idea of creating a Ubiquity command that would execute real shell commands. Extra useful for following command line guides, right? Perhaps marginally speedier than Select→Alt+Tab→Middle click on Linux. Anyway, this seems to not be possible, as Ubiquity command scripts are run within a sandbox. This means your script runs with the privileges of a regular network website (aka, regular everyday JavaScript,) and not the über rich/powerful/scary privileged JavaScript that extensions and Firefox use internally.
You'll notice the libraries Ubiquity gives you access to can reach beyond those restrictions, however, allowing you to do cross domain XMLHttpRequests using jQuery, for example. You can see some of the globals that are made available in this code block [source]:
function makeBuiltinGlobals(msgService, ubiquityGlobals) {
var globals = {
XPathResult: XPathResult,
XMLHttpRequest: XMLHttpRequest,
jQuery: jQuery,
Template: TrimPath,
Application: Application,
Components: Components,
window: window,
windowGlobals: {},
globals: ubiquityGlobals,
displayMessage: function() {
msgService.displayMessage.apply(msgService, arguments);
}
};
return globals;
}
I doubt anything giving access to process execution would ever be included, and for good reason. For that, good 'ol regular extensions will have to do.
Sep08
Ubiquity has to be the coolest extension to hit Firefox since Greasemonkey. I had to try my hand in creating a script, so I adapted some old code that built an interface around using Google's search to evaluate expressions. Google doesn't have an API for directly accessing the awesome power of the 'Google calculator', so I resort to barbaric screen scrape-ery.
Edit: script moved to this page for subscription.
If you have Ubiquity installed, you should see the bar just above this window asking you to subscribe (e.g. install) to the Ubiquity command. Once it's installed you can fire up the Ubiquity prompt and type gcalc and an expression you wish to evaluate. You can even do cool things like:
gcalc 2^16 gcalc pi= gcalc 5GB = ? KB gcalc ln(e)Also see Google's help page for more examples of acceptable expressions.
View the script source on github.
Jun27