12/29/2007
Mac Santa '07
A few days ago, Santa left a nice new camera for my lady. I finally tried it out this morning, and I must say, it's pretty neat. Here's a photo of our living room.
![]() |
Our living room |
Bigger version
For this image, I actually took two photos, and then stitched them together with a neat little program called Double Take. It's a fine little program. Simply take two photos that share some common elements, in this case I took a photo of my ceiling and floor. Then drop the photos into the program. Voilà! It combines them into one photo.
Also, if you've ever used some Mac software but not paid for it, now is a good time to get it. Perhaps you are using a demo, or it miraculously stopped requesting registration info. Either way, until the end of the year, you can save between 10-20% on a lot of different Mac software. Those folks work hard, it's good to support them. Check out Mac Santa '07.
12/20/2007
All I Want For Christmas
Unlike last time, I didn't chicken out when asked to go dancing. Here's a video of a bunch of us at Rockefeller Center. Davey has quite a vision, I'm so glad I got to be a part of it.
from on .
12/18/2007
Bring It On Home To Me
I found this song via the hype machine, it's Zooey Deschanel and M. Ward singing a Sam Cooke song. It's pretty great, if you're into that sort of thing. If you are, you can listen to it on hype machine or download it directly.
"M." and Zooey |
12/17/2007
My Star Turn
I was prominently featured in a College Humor "Hardly Working" today. Wait for it. Wait For It!
Slit Scan
Casey Pugh is a rock solid genius. Check out the video below. I can't wait to get home so I can try it out myself with a webcam.
from on .
12/16/2007
Extras
The Christmas finale of Extras is on in a few minutes. I couldn't be more excited. If it's a tenth as good as The Office Christmas finale, it's going to be amazing. Go watch it now.
Extras |
White Hot Christmas
This weekend we listened to Christmas music and set up our Christmas decorations. Check out the hotness of our setup. The white hot mannequin, the LED lights, the couple, everything! Also, my beard is filling in nicely, don't you think?
![]() |
Happy Holidays |
12/12/2007
Emacs Spreadsheet
I'm constantly finding myself in situations where I need to do something on my computer, but I can't do in Emacs. Like, filling out text boxes on the web. Or posting to my blog. Or just using a shell.
Of course, time after time, I find out that I can use Emacs for these problems. For example, with It's all text, I can edit form fields with Emacs. Muse mode and a couple of scripts allows me to edit and post to my blog. And eshell has changed my life as far as using the command line goes.
The latest problem I faced was that I needed to use a spreadsheet. I'm not a spreadsheet power-user, I just needed something to help me visualize a few simple calculations. I wanted to tweak a number here, a percent there and see all the numbers change. Perfect job for a spreadsheet. But how the heck do you do it in Emacs? Simple, ses-mode. It does everything I need for a basic spreadsheet, and it's in Emacs. Either you know why this is a good thing, or you totally don't. There is very little middle-ground.
With ses-mode, you can deal with ranges of cells, do all kinds of calculations and if you install the right modes, you can even graph it with pretty charts. I haven't tried that, but it sounds awesome.
Anyways, here's a screen shot of an example spreadsheet inside Emacs. You can even see the cell's formula in the mini-buffer, in lisp. So cool!
"I'm a business man, I need a spreadsheet" |
Vote
Vimeo was nominated for some award, you should go vote for us.

Also, my friend and co-worker Adam released a beta version of one of his side projects. It's called Price Advance. It's way to do comparison shopping on the web without really trying. It's a free Firefox extension, you should give it a try, unless you enjoy paying too much for stuff.
12/11/2007
Funky Forest
This is one of the best videos I've seen in a long time. Not the video so much, but what it captures. I'd love to see this thing in person.
from on .
Turkey Babes
Check it out! The lady was featured as a "Turkey Babe" on some site and they posted a photo of her. And yes, that babe can cook!
The babe chef |
I wonder why they called me a jackass though? Why I oughta!
12/10/2007
Someone is hiding something
Look what I found!
Also, I just watched again because the article above embedded it. I haven't seen it in a while, but it's really great. If you haven't seen it, go watch it, it's awesome. If you have seen it, can you spot me in it?
![]() |
Amanda! |
WTF!?
I'm in a competition to grow a beard. OK, it's not a competition, it's just a website where we all go and post pictures of ourselves growing beards. You can rate beards that you like or poison them. I've never seen anyone poison anything unless it was photoshopped (totally against the rules).
Anyways, today is a theme day. You're supposed to try and post a picture to follow a theme. I didn't have time for it, so a quick shot I took at my apartment. And it got POISONED! Of all the nerve!
Here's the evidence, my score is in in the negative!
![]() |
Look at that score! |
I've made it!
After years and years of trying, I've finally made it. My face is on a ping pong ball!
![]() |
Success! |
12/08/2007
Eat your own dog food
In the software world, there is a saying, "Eat your own dog food." It means that you should use your own software. Your perspective will be much better if you can look at it as a user, every day. I'd like to suggest this to major blogs as well. You should read your articles, even the ones written by lowly staff writers. You can then avoid contradicting yourselves or double posting1 or you could just get a feel for what it's like to read your site for a day2. Let us use Techcrunch as an example:
One story today:
![]() |
Pot is bad |
The very next story posted:
![]() |
Pot is good! |
I don't care either way about the issue at hand... but... that is all.
1. Slashdot, I'm looking at you.
2. Valleywag, I'm telling you, reading your site for a day isn't easy.
12/06/2007
Restless TV Guide Editor
Patrick Cassels posted a great article on College Humor:
"TV Guide's" Editor Tends to Grow Restless and Stop Watching After About 10 Minutes.
![]() |
Close enough |
12/02/2007
It takes a special type of nerd
![]() |
Justin and I |
That was regarding we had.
Missing the obvious
Google is filled up with some of the smartest people around; or at least, it's really hard to qualify for and get a job there. Tales of the interview process can be found all over the web. Now, they compete with Facebook for that same pool of smartypants job applicants. Facebook also, reportedly, has a pretty strict screening process and has actually started hiring people away from Google. Yet, even with all those smart people, they both made the same stupid mistake at roughly the same time in their respective histories. A mistake that the entire dumbw orld seemingly could have warned them about.
After the success of the Google search engine, Google expanded into web mail. It would be bigger and better than all the other services and it would be free, offset by the cost of advertising based on the contents of each email. While I didn't personally see this as a big issue (an email about a cookie recipe seems like a good place to have an advertisement for chocolate) but it's so easy to see the problem with this. With all the sensitive information exchanged in email, people may not always want some company's giant computers reading through their messages looking for the best ad to go with it. The privacy implications of that were so big and obvious, and they've been hundreds of times, that I won't bother going into it here.
Then along comes Facebook, heir apparent to the social network throne. They build up a huge base of users and want to leverage that base to try and justify a $15B valuation. They didn't quite have the same plan as Google. Google was going to give you a new free service, an opt-in service, and advertise to you in questionable ways. Facebook wasn't going to actually offer anything new. They just teamed up with other sites to record, and then publish, the shopping habits of each Facebook user. So, buying a fancy ring for your wife would get posted to all of your Facebook friends and, yes, even your wife. You had to opt-out of this. Opt-out!? Facebook has since changed this to an opt-in program, but that isn't the way it launched.
How does this happen? How do you get so many smart people together to make such bone-headed decisions? This isn't an issue of them moving too quickly. Projects like these take time, lots of meetings are involved. PR people come in, marketing, programmers, suits, QA, friends, family, etc. At some point someone along the way must have stopped and said, "You know, a lot of people will love this idea, but some people might think it's a privacy issue or just plain creepy. Any thoughts?" After that, they just kept on going. Someone must have suggested that Facebook Beacon should be an opt-in program, but they decided against it. If no one ever raised these concerns, they've just hired a bunch of 'yes' men, and I really don't think that is the case. So I figure they must have thought about these issues, both at Facebook and Google. Google seemed to be prepared in a way, their plan was just to ignore it, and they just weathered the storm for the most part. Facebook, on the other hand, crumbled like a sand castle.
I've worked on a lot of sites, we've had a lot of discussions about a lot of features. Sometimes, we'll toss around an idea that could fall into this trap. But, each and every time someone points it out. It may be in the initial meeting, or perhaps after a few days of work on the project when someone says, "Hey, I think those privacy wing-nuts may have a problem with us physically following our users into the drug store and publishing their prescriptions, what do you think?" And then we realize that just because a feature is a good idea for one reason, it may be a terrible, horrible, no good, very bad idea for some other reason.
Anyways, as always, using this site means you've accepted my terms of service and that you must to fax me your most recent shopping list and/or grocery store receipt to 603-307-5353.
12/01/2007
Writing a book
A few months ago, I decided I needed to write a book. I've never written a book before, but I haven't done a lot of things before, so why should never having done it stop me. So I got started. I researched companies, figured out how many books I'd need to sell to make it worth my while, realized that I could do that, and got started. I wrote... about 3 or 4 chapters.
Then I found out someone whose blog that I read was writing a very similar book. Too similar in fact. I mean, if I read someone's blog, doesn't that mean that others read it too? Well, I decided that I have on my plate, and that I'd rather read the book than write it. So I haven't touched it since then. (Despite, having those chapters written, they're solid gold I tell you! GOLD!)
I'm super happy to know a book like it is getting written. If it isn't as good as I can do, then I'll write it myself, otherwise I can't wait to read it. So, I'm officially putting in my notice that I am going to pre-order it.
11/28/2007
NutRageous Update
You're not going to believe this. But seconds after posting the last post, Jakob walked by and asked if I was ever going to eat that NutRagous. I said no, and he explained that he'd eat it. So I gave it to him.
After weeks of exhaustive research, I can confidently say this: when given the choice between no candy at all and one NutRageous candybar, at least one person would choose NutRagous. These grainy photos are actual photos I took while he was eating it in a meeting.
![]() |
Crotch Shot |
![]() |
mmm... |
However, and I swear to god that I'm not making this up, the reason I posted the last NutRageous update along with the iCal post was because I still hadn't unloaded it and it happened again! This time, instead of my beloved peanut M&Ms, I got a Nature Valley Peanut Butter granola bar. That is now up for grabs.
iCal Print Page
The new iCal print out is really nice. At least if you're only printing one item. I printed it out today before I ran into a meeting and it ended up being the perfect place to take notes. I just thught I'd share that. Here's a picture of it below. This picture also shows off that truly no one likes NutRageous.
![]() |
Meeting! |
11/27/2007
More Vandals!
Some jokester vandalized Wikipediarejects.com again! This time they changed Streeter's profile by one word. Cleverly, they removed the word humorist. So now he's just "an American." Which is accurate, but not as true as it once was.
Here's the diff from the site.
![]() |
Ha! |
Aquamacs File System Coding
At work I'm always downloading strange file formats, or creating files with weird names to test our system. Doing this, I noticed that aquamacs was having trouble with some of them and I couldn't figure out why. Until today! Previously, one of my test files was pretty messed up via dired and eshell, take a look:
![]() |
Bad! |
But all it takes is a quick addition to your .emacs file and it's fixed! You just need to specify the "file name system coding," and there is even one included with aquamacs that is designed for the mac file system. Just add the following line to your .emacs file and you're all set:
(set-file-name-coding-system 'utf-8m)
After that, everything is rosy.
![]() |
Good! |
11/26/2007
Prying Eyes Privacy
When you spend your days inside emacs, you tend to do just about everything from there. Natrually, emacs is a good place to create lists of things, and around the holidays it's a good place to draft lists of gifts you're thinking about giving. Chances are, you've created these lists before.
As an emacs user, I'm going to guess that you are the teensiest bit concerned about security. In this case, you don't want a lot of hassle. You just want to ensure that if someone opens the file, they won't know what you're planning on buying for them. So, instead of hiding your file somewhere of deep in your hard drive or insisting that your significant other doesn't touch your computer until after the New Year, you can probably just use what I'm calling Prying Eyes Privacy.
All you need to do is "encrypt" it with rot13. For those who don't know, that means you need to look at each letter and rotate 13 places in the alphabet. So A becomes N, B becomes O, L becomes Y, and so on. Normally, this would involve writing perl script, C# app1 or something similar. It isn't hard to decrypt this type of file, but you probably can't look at a file encrypted this way and figure out what it says. It's perfect for a gift list. And it's super easy to do in emacs.
So, start your list in emacs. You can use org-mode, outline-mode, or whatever you please. It doesn't matter. But before you save it, do this:
- Select the whole buffer (control-x h, or with you mouse)
- meta-x rot13-region
That will turn the phrase "I think the lady wants a stuffed moose" into "V guvax gur ynql jnagf n fghssrq zbbfr."
Next time you open the file up, you can just do those steps again and it will magically reappear. Now, whoever you're buying gifts for can open this file up whenever they want. Unless he/she has some kind of amazing alphabet arithmetic abilities (unlikely) or can use emacs (even less likely) you'll be in the clear. If your significant other can use emacs, this probably isn't going to cut it.
1. Just before I got my current job, I found a job posting for a C# programmer. In order to submit your resume, you had to write a C# program to "decrypt" an email address via rot 13 and send along your source. I had never used C# and had the day off, so I decided to give it a try. I spent longer downloading and installing a complier than I did writing the code. But, I sent in my solution along with a terribly outdated resume and within minutes they got back to me saying they had to speak with me. I thought that was a bad sign. If you can learn enough of a language in just a few minutes to impress the tech people at a company (this wasn't a recruiter), you don't want to work there.
Food
Just like every other American, I haven't done much in the past week aside from eating and sleeping. So I don't have much to report. However, even though I didn't really do anything, there are some great pictures.
![]() |
The lady made a turkey! |
Also, that shirt is pretty perfect for Thanksgiving, don't you think?
![]() |
The lady took this of me during our last thanksgiving as BF and GF |
Now to resume the regularly scheduled postings.
11/21/2007
We're getting the band back together!
We're getting the band back together, and I couldn't be happier!
![]() |
We're going to be HUGE! |
Inner Tube
Justin took this awesome photo of me, I'll be using it for my whiskerino entry today.
![]() |
A dynamite suit! |
11/20/2007
Dirty Search Results
I used to run a site that got quite a bit of hits. Not tons, but enough. One of my favorite posts was just a list of some of the more interesting search terms that led people to the site. Some of those are below.
- eminem feet
- photograph of courtney love's nipple in mouth
- liz phair breasts
- a lot of boobs
- janet boobs
- janet flashes
- tv boobs
The lady made a similar post from the searches that lead to her blog. They're just as good.
- Roaches in chocolate
- Chocolate grits ice cream
- Chocolatey delight commercial + godzilla
- Food made by chocroach
- Girl+up skirt+cream pie+photo+gallery
- Grizzly man mr chocolate sex
- Ice skating porn gallery
- Trashy texas girls
What kinds of searches lead to your site? I need to know!
11/19/2007
The Unbridled Success of WikipediaRejects.com
The Background
Back in November of 2007 (around three full days ago), a glorious dream saw the light of day after dozens of minutes of planning and work. WikipediaRejects.com was born. It was a place for entries that have been rejected from wikipedia.org to go and live again. It's a graveyard, no a community, no a celebration of things either too unhip or hip for the common wikipedia moderator.
The Progress
Over the weekend, I spent countless hours (that is, several minutes) making the site awesomer than ever. Now, you can mark a specific entry as being an actual reject from wikipedia. This means that you can post stuff that isn't on wikipedia as well as entries that were kindly asked to leave. If the entry was removed from wikipedia.org, check the little box and it will get an offical seal proudly proclaiming it's an offical reject.
![]() |
An Official Reject |
The Two Key Indicators of Success
I consider this site to be an amazing success (so far) based on two key indicators.
- First of all, someone posted a really long article.
- Secondly, Vandalism! Someone marked my profile as an offical reject! That way it says that I'm a reject!
![]() |
Me, a reject?! |
The Future
Sadly, we only have a few posts on the site so far. We need more! More long articles about things. Do you know a lot of stuff? Show off to the world on wikipediarejects.com. Misguided researches everywhere will thank you. We could probably do without the vandalism, but we'll take what we can get.
The Avett Brothers
After , I came back to the city and limped to Webster Hall for the Avett Brothers show. It was pretty awesome. Sorry the pictures are so bad, my phone doesn't do a great job in low light.
![]() |
The Avett Brothers |
![]() |
The Avett Brothers ... again |
Cloverfield
There is a for the movie they were filming when they destroyed my street for a day. Here is a shot of the burning car in front of my building.
![]() |
Stanton & Orchard (pretty sure) |
Here's a video I filmed of them filming it this scene.
from on .
11/16/2007
WikipediaRejects.com
Amanda came up with an idea for a website a while ago. I decided to put it together and it's ready today! It's a place for you to go if you're not famous enough for Wikipedia.org. Were you added and removed from the real wikipedia? This is the place for you!
Go to WikipediaRejects.com
![]() |
Rejects, unite! |
Puzzlar
Back before I started working at . I worked on a couple of video games. I haven't had much time to work on them lately, all though I really should start making time.
One of these games was called Puzzlar. It was pretty simple. The purpose was to match at least three of the balls by removing, or "smashing," one. You only have so many smashes, but if you match more than 3 balls as a result of a smash, you'll earn extra smashes. So, in order to stay alive, you can't run out of smashes, and you can't let the balls get stacked up too high.
Here are some videos of it in action, and below, links to some high resolution screenshots of it.
Update: I forgot to mention, but I used the Torque Game Engine to make this game. The company that makes the Torque engine is called Garage Games. They have since been bought by IAC, who also owns Vimeo. Hrm, I wonder if this means I can get a discount on the new version...
Videos
from on .
from on .
Images
|
|||||
|
|
||||
|
|
11/15/2007
On Engineering
Eugenia Loli-Queru posted this article, it's about Vimeo. She's upset that we're not going to fix a that causes her test videos to break when they're encoded using her (subversion) build of ffmpeg. Keep in mind it's not an actual issue that she was having while using the site, the video in question was something she encoded to test Vimeo. Apparently it didn't work, has since been deleted.
It's an issue that "is only triggered when a very specific re-encoding is happening, from a specific kind of source file," she says. 1 So, we all agree that it's not a common issue and we haven't seen many users complain about this (none that I know about). This is essentially the definition of the type bug that we shouldn't worry about fixing.
Depending on who you ask, it appears to be a problem with either the flash player or our encoder. "And if it is a Flash bug, you must find a way to go around it," . If it's an encoder issue, we must "delve into the ffmpeg source code and make real changes and fixes, in plain C language." 2 "Clearly, you need a C engineer," she says, to fix these issues. Otherwise we should just "close down the shop." She also claims that "this is exactly a case where the company does not understand why they are in the business they are in." She makes a few comments about open source that I couldn't quite follow, but basically I think it's easy to figure out what she's saying. She is essentially saying it's our responsibility to fix ffmpeg to handle that specific file and that our developers are not "Engineers," they are "'web people' who can put 5 scripts and 3 hacks together as a side job to writing CSS/Ajax." 3
I'm not quite sure where that is coming from. As far as not understanding what business we're in goes, probably disagree. I think that our decision not to spend our time on this particular issue shows exactly how clearly focused we are on the business we're in. We try to spend our time where the most users will see the most benefit, things like work arounds for , working through with our CDN, , an , a little thing called , ,
And as for our "(mostly CSS/Ajax) developers." 4 I'd take any day. With their inexperience and lack of education; these people make no to open source projects. I'm just saying.
1. Via Email
2. http://eugenia.gnomefiles.org/2007/11/13/the-importance-of-an-engineer/
3. Via Email
4. Her words, not mine.
11/14/2007
Patrick In US Weekly
![]() |
Patrick and Camille |
Headline of the day
All of the gawker media sites have started to pad their blogs with "stats feeds" that are just collection of links to posts they posted that day. You can see which post is most viewed and most discussed, 5 comments!
Since it's all automated (one would hope), the headlines are sometimes pretty good. Yesterday on Valleywag, the most popular headlines were fark headlines.
![]() |
At least they're honest |
Clap Your Hands Say Yeah
Yesterday I got a nice surpise. The lady scored some free tickets to "Clap Your Hands Say Yeah" at the Bowery Ballroom.
![]() |
Clap You Hands |
11/13/2007
My Vimeo Profile
I changed my to be more accurate, as far as I've been told.
Here it is:
I'm proud to maintain the most low brow channel on all of Vimeo:
A web person who can put 5 scripts and 3 hacks together as a side job to writing CSS/Ajax, unable to code and make real changes and fixes, in plain C language.
Voice Powered Phone Systems
This is a message to developers and implementors of phone systems powered by speech recognition. Everyone else can look away.
- Rule #1: The first option must be, "to speak to an operator press (some number)."
- Rule #2: If you make a phone system that is powered by speech ("Say English to speak english"), it absolutely must have a fallback of "press 1 to use english." Your voice recognition software is not that good.
That is all.
Tumblr bug.
Just noticed this. Tumblr can't decide how many people are following me.
![]() |
20? |
![]() |
19! |
As far as I can tell, it's actually 19.
Luckily, Vimeo is entirely . Always. Seriously.
Outage
I decided not to go and get Super Mario Galaxy last night, but Justin went and picked one up for me. He's a good man; I'll get it from him today. It's a good thing I didn't have it last night, because just as I would have been getting ready to play, this happpened.
P.S. John Mayer has one of the best blogs on the internet, yes that John Mayer.
11/12/2007
NY Post Headline
Hero programmer is hot for teacher
- the lady (if the NY Post wrote a headline announcing our engagement)
Big Daddy Jeff
Jeff Rubin interviewed some guy who made a giant BioShock big daddy costume.
You should go watch the interview, but this picture just cracks me up.
![]() |
It's a funny story... |
No Mario for you!
Justin and I were convinced that Super Mario Galaxy came out today. So we spent our lunch going to three different stores that sell games. It appears that it only came out at the Nintendo World Store today. It comes out everywhere else tomorrow. Now, I just have to decide if I want to head up there and get it today, or wait like a good boy and get it tomorrow. Decisions!!
![]() |
I'll probably just wait it out. |
11/10/2007
Vaginarinoed!
As I've mentioned before, I'm in a certain beard growing competition. There is a companion site where "where girls who can't grow beards go and imitate Whiskerino pictures."
Someone did one of my photos.
Here they are:
![]() |
The original |
![]() |
Laura Jean's "Ted" |
11/09/2007
Credit Card Roulette
We played a game... I won... or lost. Blake captured it.
from on .
Blake Whitman is a genius
At the begining of this month, and and I went to get a shave to prepare for a beard growing competition. Blake filmed them shaving me. This, of course, included the barber shaving off my reasonably famous and respected mustache. The resulting video is outstanding.
I've embedded the movie below, but I HIGHLY recommend that you go to Vimeo and . It's simply breathtaking.
from on .
Fainting Goats
I saw on , I'd never seen anything like it.
Here's a video with more information. This made me so happy for some reason.
Kunal is as class act
Kunal is a class act. Why? He remembers to do the nice little things.
![]() |
Kunal Cares |
![]() |
... we'll always be bathroom buddies |
Good Morning America!
Patrick and girl were on Good Morning America! I'm sure there will be video soon, but here are some photos from the event. It was pretty adorable.
![]() |
Patrick on GMA |
![]() |
Patrick and Camille |
11/08/2007
The Facebook Gift Conspiracy
A lot of people are saying a lot of things. And by a lot of people, of course I mean Neil Epstein. And by a lot of things I mean the following.
That's not what happened at all. You see, we were discussing Facebook gifts and our dismay that, supposedly, people buy these things for other people. Neil said that if someone was going to give him a Facebook gift, he'd rather have the dollar. So I gave him a "Facebook gift," which is pictured below. He the image above in an attempt to run my good name through the mud.
![]() |
Here he is with his gift |
I'd like to send one of these gifts to Mark Zuckerberg, does anyone know how I can make that happen? I'll send one of these gifts to anyone who can help me make that happen.
The Perry Bible Fellowship
The Trial of Colonel Sweeto arrived today!
![]() |
I can't wait to read it |
Miss the boat
While I've had to do a bit of this for work already, that doesn't count. Going forward:
I'm perfectly happy to miss .
11/07/2007
A long complicated process
Every day at is exciting. Today some of my co-workers noticed that I use emacs to post and edit entries on my blog. Quote of the day? "I didn't suspect it was... oh I did suspect there was a long complicated process with lots of output from find." They know me so well. Truth be told, if you know your way around emacs, it's light years easier than any other blog software I've ever used.
Here's a video of the the whole thing.
from on .
Also, the clapping at the end is about this; the gentleman in question walked in the room.
Found Her
He found her! Congrats!
He's in the ny post.
Update: A ton of other places too, including this winner. This story is too much!
I'm in the best band in the world.
I'm in the best band in the world, here's our photo.
![]() |
We still need a name |
photo via Justin (on )
11/06/2007
Vaginarino
I recently shaved off my mustache in order to grow a beard for a competition. I assure you that I'll grow my mustache back once this is all over... I don't want you to be alarmed. If you're interested, you can track my progress here.
However, I just learned via Kevin that there is a companion site "where girls who can't grow beards go and imitate Whiskerino pictures." Wow! Kevin already has a copycat.
Nick and Norah
As I was coming home today, they had blocked off a lot of my street and were filming around the corner. They do this , but I'm always super nosy and like to see what's going on. Turns out it was Nick and Norah, I didn't know what that was so I looked around to see if I could figure it out. Then I saw him! Sitting inside some kind of broken down movie-prop car was George-Michael Bluth!
I didn't get a photo of that, but here's a sign nearby:
Launching Aquamacs
After installing Leopard on most of my machines, I lost one key script that for some reason I wasn't keeping in my home directory. It was the script I use to launch Aquamacs from the command line. With this, I can open a file in an already running Aquamacs session (most of the time) or start up a new one entirely. Either way, it can all be done from the command line and it's super easy to type.
Here's the perl script that I use. Just save it as "e" or whatever, make it executable, and put it in your path.
#!/usr/bin/perl $pid = 0; open I, "ps -axww -U $ENV{'USER'} |"; while () { if (/Aquamacs Emacs/ && !/grep/) { if (/^\s*([0-9]+)\s/) { $pid = $1; } } } close I; $args = ""; for my $f (@ARGV) { if (! -e $f) { system("touch \"$f\""); } $args .= "\"$f\" "; } # there is still an issue: # if the sudo emacs is still open, it will # call 'open' and open the files in the wrong # emacs process. if ($pid) { system("open -a /Applications/Aquamacs\\ Emacs.app $args"); } else { system("/Applications/Aquamacs\\ Emacs.app/Contents/MacOS/Aquamacs\\ Emacs $args &"); } exit;
This is actually stolen from someone else, somewhere on the internet, but I don't know where it came from. If it was you, let me know and I'll give you all the credit and glory.
More on Patrick
Let's make this happen people. This is a good friend of mine, he almost talked to the girl of his dreams on the subway... more information here.
from on .
11/05/2007
The great NutRageous disaster of 2007
I have a problem. I'm the first to admit. Almost anytime I see someone eating M&Ms in the office, I have to get some myself. So today when I saw someone eating some, I went to the vending machine to buy some... there's where the trouble started.
First, I entered the number under the M&Ms, but I was given a NutRageous!!! Of all the mishaps! The little labels must be out of whack! But that didn't deter me, I tried again. This time the price was wrong! So I added the extra five cents and got my M&Ms. Two candy snacks! Two!
Ok, so I guess that is the end of the story, and it didn't really go anywhere. But I'm not going to eat this NutRageous thing, does anybody want it? If so, email me and I'll give/send it to you.
Here's the evidence:
![]() |
Mmm. |
Jake and Amir
from on .
11/01/2007
Last.fm, X11 and Leopard
If you run X11 on a Mac, you may have noticed that X11 windows lose focus every couple of seconds. Of course this makes X11 almost useless for most people.
Turns out that the last.fm client is the culprit. There is a new beta client, which works a lot better, but it doesn't fix this issue. Hopefully it will be worked out soon, because I love to show off my terrible music taste to the world and use terribly outdated software at the same time.
Flash Uploader Works Again!
The new flash player works on if you're using Leopard!
That makes me happy.
09/19/2007
Is the world flat?
Just wow.
09/14/2007
jakob.tv
Jakob has a sweet tv helmet. I was the talk of the station for a bit.
I'm the guy with the stache. (not pictured)
09/05/2007
Vimeo API Awesomeness.
At "," I pushed for, and was charged with developing an API. A number of people (including myself) are developing a lot of cool things using it. I'll certainly tell you more about those as they get released. However, another thing that I didn't expect is that people are even writing tutorials for it.
Take a look at this one by vimeo user . It's also a much better tutorial than anything I've written.
08/30/2007
Symbol Properties
I just found out about something in emacs lisp that is pretty great. I'm sure people who are familiar with lisp will not find this too exciting. However, for those of us still learning lisp or people with a passing interst in different languages will love it.
It's something that would be pretty handy (and widely abused) in other languages. Here's the short version. You can associate "properties" with pretty much any symbol (variable). For example, let's say you want a symbol called automobile.
(setq automobile "Car")
Now you've got something describing your car. But that's not enough. Now you want set the make and model, you can just start setting those properties right on the symbol itself.
(put 'automobile 'make "VW")
(put 'automobile 'model "Jetta")
Now you can just show the message of the automobile:
(message (concat "Automobile: " automobile
". Make: " (get 'automobile 'make)
". Model: " (get 'automobile 'model)))
Here's a picture of me figuring it out:
08/29/2007
Widget
I know I just posted something about the hubnut the other day, but since the is finally listed on apple.com, I thought I post a to that as well.
![]() |
The Vimeo Widget |
Good morning
This morning I had some computer issues.
![]() |
Things are going well |
08/28/2007
Valleywag drives me nuts.
Valleywag drives me crazy sometimes. And not because they tend to have a lot of snarky non-stories about friends and coworkers. No, it's because they almost never link to whatever they're talking about. This happens all the time.
The latest example is here Early risers are disgusting -- and disadvantaged, what blog? They end up linking to the about page of his blog, which is kinda broken and not all at useful, but why are they linking there in the first place? Shouldn't they link to the actual blog post?
08/25/2007
Decreasing Page Load Times
The problem
This blog is simple. The engine is powered by pyblosxom, which essentially reads directories for files and shows them as blog entries. It's perfect for me. The site should fly. The problem is, it hasn't been flying.
Page loads on this site (of "cached" pages) were consistantly taking more than 10 seconds. I quickly realized that this wasn't page generation time; it was just taking that long to download all the files. I was faced with two options: 1) design this site like a human, with far less images or 2) figure out a way to speed it up. As you can see by the appearance, I went with number two. I may not be be able to design a site or use Photoshop with any proficiency, but I know my way around an image tag. So by god, I'm going to use them.
The setup
This server runs a stock debian installation using Apache. The python script is powered by mod_python, also a stock debian installation.
The full server signature is "Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch7 mod_ssl/2.2.3 OpenSSL/0.9.7e mod_perl/2.0.2 Perl/v5.8.8"
The solution
This is a simple solution, but there aren't tons of explanations how to do it. Here's my attempt.
First things first, I downloaded YSlow from Yahoo. It's a great application that gives you grades for each aspect of your site that affects performance. It has suggestions as simple as "Put CSS at the top" to "Use a CDN (Content Delivery Network)." Some suggestions are more applicable than others for a simple blog, and some are really only applicable in a .
The order of operations counts
The first thing I did was move my big huge header image to the top of the CSS file. Previously it had been towards the bottom of the file and wasn't getting loaded until everything listed before it was loaded. Sure this doesn't actually affect the page load time, but seeing the header image early makes the site feel many times snappier.
Compess what you can
This is easier than it sounds. Modern browsers can automatically unzip many files, this includes HTML, CSS and image files. In fact apache can detect of the browser supports it and will not zip for those users. Enabling it on my debian installation was easy. It is just as easy, although perhaps a bit different, on other setups.
First, ensure that you have the deflate
module loaded. On debian, you simply do this:
cd /etc/apache2/ ln -s mods-available/deflate.load mods-enabled/deflate.load ln -s mods-available/deflate.conf mods-enabled/deflate.conf
After that you need to ensure your server will use it. I added this to the base of my apache2.conf:
/>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/x-httpd-eruby
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE image/jpeg
AddOutputFilterByType DEFLATE image/gif
AddOutputFilterByType DEFLATE image/png
Once you do that, restart apache and you should be compressing just about everything. You can easily check this using Fire Bug for Firefox. Bring up the "Net" tab and click on one of your images. It should say "Content-Encoding gzip" at some point.
![]() |
The original file is a bit bigger. It all adds up |
ETags or Expires Headers
Another thing you'll want to do is set up Apache to try and tell the browser when stuff has been updated. You'll want to use ETags or mod_expire to do this. Using both won't give you anything extra, so pick which is best for you and use that. They're both detailed below.
ETags
ETags has somewhat of a bad reputation, but for small sites it works perfect. What etags does is generate an "Entity Tag" generated on specific criteria about the file being served. If the ETag changes the browser knows to download another copy of that file, otherwise it will used the cached version.
ETags can cause problems in environments where you have more than one web server and each time you request one file, it may come from any number of web servers. Each of those servers can have their own ETags which would convince the browser that the file has been updated even when it hasn't. If you just have one web server, you don't need to worry abou this problem. Also, it should be noted that as long as you don't use the INode to generate the ETag, you can still safely use ETags on multible server installations.
To enable ETags (which is built into apache), simply add the FileETag
directive to your location block. This can be done for the whole server and it will apply to the virtual hosts as well.
/>
FileETag All
Expires Headers
The mod_expires module allows you to flat out tell the browser to keep caching something. Many people set it to a time far into the future, but you can set it to whatever is appropriate for your site. Here's an example that tells the browser to cache something for three days into the future.
/>
ExpiresActive on
ExpiresDefault "access plus 3 days"
The Results
When I started, page loads routinely took from 6-10 seconds. After doing the steps mentioned above things are taking from 0.5 to 2 seconds after the initial load of the site. That's a big improvement. The first load can take a while, but after that things should be much snappier.
Why are things still so slow? A couple of reasons. And in the words of Homer Simpson, "this is everybodys fault but mine!" I've constantly got a couple of Vimeo video players being served from Vimeo. I've also got the Vimeo thumbnails along the right side of the page, all being served from between 1 and 10 servers on our CDN. On top of the Vimeo assets, I've got flickr photos, so I'm at the mercy of them as well. These things add extra DNS lookups, processing time (on their end) and network transfer.
I'm happy that I was able to update the site to be much faster without having to throw away my (terrible) design. It would have been easy (and probably wise) for me to have done this site with black text on a white background and no images at all, but I didn't want to use (ZING!).
08/24/2007
planet.emacsen.org
This should be filed under "more-true-nerditry" but I don't have that category. It also could be filed under /emacs but that doesn't seem right. You see, from now on my /emacs posts will also be published on an emacs blog aggregator called planet.emacsen.org.
Right now, my posts are at the top of the blog. The very first one prominently displays a pretty sweet curse word. Pretty nice "hello world," don't you think?
![]() |
Stay Classy Ted |
08/23/2007
Kasey Keller!
Kasey Keller signed with Fulham!
I found out about this in the best possible way. Via a message on Vimeo.com
COYW!!!
Widget!
I put on Vimeo. You can see .
Some of the guys at work made "hubnut" which is a new way to embed your vimeo videos on another web site. You can just post it once and it will always have the newest stuff. It's really slick.
08/13/2007
Tidy
This (along with anything in the category Emacs) is certainly only interesting to nerds. Total fucking nerds... like me.
I was looking around the Tidy documentation during work and the greatest option ever: gnu-emacs. This means that when you're cleaning up your HTML/XML, you can format the errors in such a way that a 30 year old text-editor/tetris-machine can handle the errors more easily. Strange!
08/11/2007
Aesop in the City
The lady showed me this article in the New Yorker.
(Go Blazers!)
08/10/2007
Chess Coaster
08/08/2007
Phone Battery
My battery is dying, so I shut my phone off in queso emergency. I'll boot it up again if I find myself in a pickle.
- The Lady
08/06/2007
MLB.tv via VLC
With some help from the internet, I was able to setup mlb.tv so that I can use VLC instead of watching in their web page. Why would I do this? It's much nicer; I don't have to use that big silly mlb.tv window with ads and everything else. Also, I can view it in full screen.
Here's what you do (every step is equally important):
- Download VLC if you haven't already.
- Download the Media Player Connectivity plugin for Firefox. (note, I had to install an old version that works on a mac)
- Set it up to use VLC for WMV files.
- Watch the Cubs win.
07/31/2007
PPT
My girlfriend is taking a graduate course on education. Sometimes the assignments are a bit silly... for a graduate course on education.
Let me just break this down for you. In order to get full credit, she must turn in a powerpoint presentation with transitions between slides. She went with Split Vertical Out, it looks pretty good.
regrets
This is so amazing. I'm totally ashamed and regretful that I didn't attend. I was asked.
and .
07/30/2007
How come nobody told me about...
.... Handsome Furs
It's one of the thousands of Wolf Parade related bands, all good. My point is this: someone should have informed me of it sooner, it's really very good.
07/28/2007
Editing PHP in Emacs
I've been trying to get good, reliable command name completion working in emacs; including something that helps me remember parameters. If you write PHP, you've certainly spent some time banging your head against a wall trying to remember if in_array is "needle, haystack" or "haystack, needle." And then again with strpos, which is the opposite. Or you've wondered why array_search has the array as the second parameter when every other array function has the array as the first parameter. (And yes I know why, but that doesn't mean I know why when I need to).
Anyways, I've got function completion working just fine. In case you don't have that working, here's how to set it up. First, I created a file with all the php functions listed in it, saved it to my .emacs.d/lisp directory and added this to my .emacs file:
(defun teds-php-code-thing () (setq php-completion-file "~/.emacs.d/lisp/php-completions.txt") (define-key php-mode-map [(control tab)] 'php-complete-function) ) (add-hook 'php-mode-user-hook 'teds-php-code-thing)
Now when I type "adds," I can type control-tab and it will expand to "addslashes." Which is great, but it's only half the battle; it still doesn't tell me if array_search is needle/haystack or haystack/needle.
I figured out that parameter suggestions can be done easily with etags. Since I'd never used etags/ctags before, I ran it on the codebase of my project and it worked like a charm. If I type out my_pizza_function(), I can type control-. and the message buffer will list the args: $cheese, $sausage, $morecheese. (Once I start typing again they disappear, but it's a great start).
You can set that up by doing this from your project directory:
find . -type f -name "*php" -exec ctags --php-kinds=-v -a -e -o ~/TAGS {} \;
This is all great. However, I still need to generate one for all of the php language functions. To do that, I just need a file with all the function definitions, including arguments, so that I can run ctags on that. I'll buy a beer for the first person to send me that.
Oh! P.S. the current version of ctags doesn't like php very much. So if you're going to try this at home, get the newest version from SVN or patch ctags-5.6 with this dirty hack that I made.
P.P.S. Let me know if this helps anyone out, I imagine there must be other php/emacs users.
07/27/2007
Consipiracy Theories
People love to assume the worst and it can really be frustrating when you're really trying to do your best.
- Rob Malda, founder of Slashdot
07/22/2007
Tardiness
If you're gonna be late, then be late and not just 2 minutes - make it an hour and enjoy your breakfast.
- David Brent
07/18/2007
Magestic
Eagles may soar high, but weasels don't get sucked into jet engines.
- David Brent
07/04/2007
This time with feeling.

07/02/2007
I promised, I delivered!

07/01/2007
Look at me!



06/29/2007
Vimeo and Me.
- "Quite possibly the nicest looking login screen on the web." -- netcocktail
- "Vimeo v5 is released, and it is hot" -- You Make Media
- "Vimeo is to YouTube as Facebook is to MySpace" -- kottke
- Posted screenshots of the site... wait, what? -- Mashable
- "The new release is going to change my opinion on shooting video for sharing on the Web." -- mikekrisher.com
- etc... -- Siongchin.com
from and .
06/08/2007
Craiglist facts.
1. The site is serving up seven billion pageviews a month from 200 servers 2. All 24 employees work at a Victorian house in San Francisco 3. The company has never had a tech quit in 12 years 4. Craigslist never holds meetings.-Mark Evans - The Craigslist Secret
06/05/2007
Neato flash thing
06/01/2007
previous buffer/window
I really like navigating through the windows in emacs via "C-x o" ... However, it just goes forward. So if I have three windows open, it will go from one to the next to the next. I couldn't figure out a way to go back... So I wrote the following lisp function. Put this in your .emacs and "C-x p" will take you to the previous window.
;; C-x p goes to the previous window (opposite of C-x o) (defun prev-window () "go to previous window" (interactive) (other-window -1)) (global-set-key (kbd "C-x p") 'prev-window)
05/31/2007
Wow
Craig Sager: Did you know you were this good? Lebron: No.Awesome.
vimeoffice

05/30/2007
Working Late
from
WOW: CBS Buys Last.fm for $280M
The price is actually a little on the low side...-WOW: CBS Acquires Last.fm for $280 Million I think wow says it all.
iPhone to get 3rd party apps!
Question: We'd love to write apps. Will it open up? Steve Jobs: This is a very important tradeoff between security and openness. We want both. We've got good ideas, and sometime later this year, we can open it up to 3rd party apps..-Official: Third Party iPhone Apps Later This Year - Gizmodo
05/29/2007
I can see my front door from here!

QOTD
jmarcus16: OH stop it. You absolutely did not say Spider Monkey to anyone.-
05/27/2007
Blazers are #1! and #3!
Portland will offer Zach Randolph and Jarrett Jack to Atlanta for the No. 3 pick to get Oden's Ohio State teammate Mike Conley Jr.It's still just a rumor, but I'm printing it as fact.
Dale's Pale Ale

USA!


05/25/2007
You're so beautiful...
05/24/2007
Blazers are #1

05/22/2007
Obeastiality
wish my headphones paused my iTunes when I took them off my head.-Obeastiality Tumblr (which powers Jakob's site) has inspired me to get wordpress playing nicely with "Links" and "Quotes," sadly I had to edit PHP code to get it to happen... oh well, at least it's working.
05/04/2007
Howto: Disable nytimes.com double click foolishness.

04/13/2007
Test Post
02/20/2007
New Jorb!
on
01/05/2007
Usenet Binary Search - Screep

Yes, the logo thing is from the web 2.0 logo generator thing. And yes, it still cracks me up.