Build me this: An Extensible Browser for Nerds

Warning: I'm about to geek out a whole lot. It's embarrassing, but that's what I do. If you want pithy, read ALA; I'm stickin' to random & unfocused. Moving on...

The beta release of Safari 4 has jarred me out of my usual dev habits: Textmate & Firefox/Firebug/WDT have been how I roll for the longest time. With Safari 4 came a real pretty dev toolkit, replete with features, from activity profiling (on a timeline!) to live source and a js console supporting console.log, to a quite nice DOM inspector, and easy user agent spoofing on top of it all--It seemed all but ready to make me jump the Mozilla ship. However, after a few weeks with it full-time, I'm going back. My reasons:

1. Hotkeys are obtuse. I hate typing cmd+opt+u to view source. I hate that cmd+opt+i turns on the dev console, but doesn't turn it off. I hate that F5 doesn't refresh, etc.
2. Source viewer suuuuuckssss. Where's my syntax highlighting? Why is find so dressed up (read: unusable)? The first time I saw includes hyperlinked in Shiretoko I might have cried a little bit; why doesn't every browser do that???
3. Top Sites is kind of a bitch. Yeah it's pretty, but I don't need a beach ball every time I create a new tab because I accidentally clicked through to some jerk's site with 8 thousand widgets (sure, I can turn it off, but that's not the point... preload it in the background, and cache better.)
4. Plugins! I need response headers & local source validation, bottom line.

Here's what would be awesome:
Somebody build me a browser that is as extensible on the back end as it is on the front end. Yeah I need plugins like firebug, but I want them for every browser. Since plugin framework standardization isn't gonna happen, let's wrap the rendering engines and make them pluggable, and togglable. I want to hit cmd+1 and see what my site looks like in firefox, and then hit cmd+2 and see it in safari. I want to hold down shift when I do it, and see the two overlaid. I want sessions to be shared across all of 'em.

I want to be able to RENAME MY TABS!!!! Seriously, why is this not possible? Yeah, the first 25 characters of a page title are super for browsing, but oftentimes developers work in CMS environments, you know, doing stuff. At any given time in my EE workflow I'll keep a tab open for admin tweaks, one for template editing, one for content, and one site preview. Wouldn't it be great if those could just say 'admin', 'templates', 'content', and 'preview'? Duh. When you leave a domain, it would be trivial to revert back to default behavior.

I want bandwidth simulation. Flash does it, why can't a browser?

Whew, I'm out of breath. Those are the things that piss me off most days, somebody smarter than me want to get on that? Or somebody richer than me want to pay for me to stumble my way towards making it happen? That would be great.

Make Photoshop run faster with a scratch partition

Scratch_partition

Photoshop is a *tremendous* tool for all things design & photo editing, but oh man has it gotten slow on my macbook. It seems that the more apps and files I put on my machine, the worse it gets. The reason? I tend to work on the go, from the studio, to home and everywhere in between, so I've been using my internal hard drive as a scratch disk

For those of you too lazy to click through to wikipedia, a scratch disk (or scratch space) is temporary storage allocated for things like processing filters, transformations, layer data, etc. Photoshop has far too much going on to store all its data in RAM, so it needs to write some of it down to disk. The problem is, HDD access is way slower than RAM, and it gets exponentially worse when your file system isn't optimized--your scratch space gets scattered all over the drive, and photoshop has to do extra seeking to find what it needs. This all ads up to lots of beach balls, wasted time, and grumpy designers.

Because I'm not willing to carry around another drive when I'm slicing up psd's on metro or a plane, I decided to dedicate a small partition of my startup drive to scratch space for apps like Photoshop, Final Cut, or whatever else can make use of it. Turns out it's really easy to do with Apple's bundled Disk Utility. The only thing you need to know is that you can't be booted from the drive you're trying to partition. I just popped in my Leopard install disk, restarted (holding down 'c' to boot from the CD-ROM), clicked out of the installer, and launched disk utility from there. Once you've got it running, select the primary disk (very first item in the list, above the Macintosh HD volume), and then the partition tab. Add a new partition, give it a name (I used 'Scratch') and a size (20GB, in case I want to do more than just Photoshop), and hit 'Apply.' In moments, you'll have a new scratch disk that's separate from your already-full-with-virtual-memory startup drive! Finally, tell photoshop to use the new disk (preferences->performance), and voila! No more random beach balls or crashing when you try to save :)

Customizing your google alerts

I love Google alerts, but am somewhat perplexed at Google's uncanny ability to discover something that I posted to flickr a year ago and proudly email me a link to it in the middle of the night. For those less vain than myself, here's the lowdown: You essentially can subscribe to a Google search, and get an email every time new stuff gets crawled for that search. If it sounds a little self-absorbed, that's because it is, but hey, we're all friends here, right? I have a google alert on my name, address, etc., and I'd be willing to bet you probably do too. It's a very cool idea, and would be super cool, if only it didn't send me emails 14 times a week to tell me I posted a new photo or updated my status on twitter.

Soooo... I got to thinking, this wouldn't suck so much if it worked with all of the filters and hacks available in google.com's search box. Well, I tried it out, and turns out it does! So without further ado, some useful tips to add to your google alerts:

• Use "quotes" – You probably already tried this one, but surrounding phrases in quotes will make sure they are matched exactly
• -site:twitter.com/twittername, -site:flickr.com/photos/flickrname, etc – removing your profile pages on social networks you post to regularly will drastically cut down on the number of unwanted emails you get
• link:www.example.com – sites that link to a url you're interested in
• inurl, ext, filetype – restrict to a certain type of file, such as photos, pdf's etc.

There are tons of options available through Google's search, these are just a few ideas. Anybody doing anything even cooler with their alerts?

Back up your Gmail, the super duper easy way.

Edit: If you're planning on copying your current email into your backup a) remember to hold down option when you drag, and b) add another line to the end of your rule to tell it to stop evaluating rules, so you don't get multiple copies :)
--

So, I was inspired this morning to share some basic wisdom regarding the backing up of emails by this guy. It seems that for whatever reason his Gmail account (no, you should not do business on your gmail account, it's bush-league and not failover-able, if that's a word... buy a domain and use apps) was suspended, and he lost a whole bunch of stuff, blah blah :'(

Backing up your email is super easy with Mac Mail or any other normal IMAP client, provided that you don't mind letting it run in the background (I'd recommend you actually use it to 'read email,' as well, but that's up to you)... So, without further ado, backing up your email for dummies!

Step 0: Make sure that your mail account is enabled for IMAP connections and your Mac Mail is hooked up to it (click here for Google's how-to)

Step 1: Locate the "add mailbox" button and give that bad boy a click. Find the option "new mailbox...." and give your backup box a name. Be sure 'on my mac' is selected in the location dropdown. Hit "Ok" and your box will be created, showing up in the sidebar.
(download)

Step 2: Add a rule to put your mail in this box. Command+, (comma) will bring up the preferences window (this is true for just about any app on a Mac), after which you just select the rules option, far right. Name your new rule, and set these criteria:
If all of the following: 
Account is [your account to backup, not the mailbox you just created]
Then:
Copy Message (not move) to mailbox: [here is where you pick the box you just created]
-Optional, but be aware it will mark all your mail in your inbox, not just your backup folder, as read, defeating the purpose of the feature: (click the plus)-
-Mark as read
1pastedgraphic

That's it! now every time you get a message, a copy of it will be placed in your backup folder and marked read. Now if your gmail goes down for whatever reason or your account gets cancelled, you have all your messages stored locally. If you're using apps on your domain, you can just switch your MX record and use whatever client you prefer from there on out, or chill and wait for Gmail to go back up. Note that hard drives fail too, (especially Apple ones) so you should export and zip your backup mailbox from time to time as well.

Important note!!!!!1
Because of Mail's behavior when it comes to attachments, you need to back those up separately. I'd recommend never opening any attachments from your email, ever, because your hard drive will slowly fill up due to tons of temp files that don't get cleaned out, so if you want to keep your files, be sure to save them locally as well.

Also worth noting, you'll have to do this for sent mail as well, as the rule above only applies to incoming mail. :)  Happy backing-up!

Photoshop's most glaring feature omission (well, to me, anyway)

Ok, I'm gonna apologize ahead of time if I just haven't found this yet, but it seems to me as though something has been missing from photoshop since the advent of the feature that made photoshop an industry powerhouse, an optimization tool that would bring a smile to any developer's face—a feature that I'll call 'clean up layers.'

Photoshop_layers

As nclud's resident nerd, I spend a good bit of my time hacking up PSDs and making websites out of them. Oftentimes it's a piecemeal process, where one widget needs some DOM scripting or enhancement, and sections come one at a time. Most designers will mock out a whole site in one file, with layer groups representing each page. As a result, I often see crops where about 6 of the 300 layers in the file are actually used. Clean Up Layers would scan through a document and identify all the layers where there is no corresponding data on the viewable area of the canvas, and get rid of them. Problem solved :)