Category Archives: Hacks

Professor Robb Willer and the Golden Apple

Robb WillerThe group of misfits I grew up with has turned out pretty well.
One of them, Robb Willer was my debate partner for a while. He’s gone on to be a professor at Berkeley. Robb won the Golden Apple award for being an awesome teacher. How awesome? Robb’s got intellectual groupies!

Berkeley put up Robb’s lectures under a Creative Commons license, so you can download them if you want and distribute them. Of course, Berkeley hasn’t given people any links to download the lectures. A bit lame if you ask me. Also, the way they’ve presented the lectures is terrible. Clicking anywhere on the page during playback makes the video close! That won’t do. I whipped up a quick fix.

  1. Install the excellent greasemonkey firefox addon.
  2. Install my Better Berkely script to fix  the webcast page.

Done.  Now the video is fixed.  When I get a free moment I’ll update the script to provide download links to all of the lectures, because what use is a creative commons license when you can’t get the media‽ Now the videos are available for download as well.

Congrats Robb!

How to get around a proxy system

This sounds complicated but it is really simple.  That it is so simple is why the internet is amazing and awesome.

from flickr user Bright Tal with a CC licenseProxies are used by people in positions of authority who want to control what you view on the internet.  Such groups include the governments of Turkey and China.  Also, the internet security team of most major corporations.  Some of these motives are good:

  • Blocking you from visiting websites that will infect your computer with spyware.
  • Blocking you from looking at naked people at work and totally creeping your coworkers out.
  • Blocking you from using webmail or instant messaging to communicate with customers in insecure ways or in ways that can’t be audited for a lawsuit.

Some of these motives are bad:

  • Blocking you from learning about problems at the group.
  • Blocking you from “wasting” company time or resources.

Generally you will eventually find a situation where you want to look at a website that has been blocked improperly.  I’ve often seen sites that discuss internet security vulnerabilities classified as “hacking” – but I need to know if those sites affect my work.

kindly sourced from flickr user Dazzie DWhether your intentions are pure or not, here is a simple way to give yourself internet freedom.

Download CGIproxy and install it on something that faces the unfiltered internet.  This might be your web host if you have one.  If not, you can install a web server on your home computer.  It is easier than you might think, and with DynDns, you can have your own domain name for your home computer.

You are done.  Now you can navigate in your browser to where you installed CGIproxy.  It will surf the sites you are blocked from.   Doing that is a hassle, though.  You have to go to CGIproxy when you want to go to a different site.  Lame.

Let’s make it easier through the magical power of bookmarklets.  We will put two little buttons in your browser that let you proxy blocked sites and unproxy them when you are somewhere safe again.

I wrote up a little page for you that generates proxy and unproxy bookmarklets for CGIProxy.  Go there, put in the URL of your CGIproxy, and choose your options.  I’ll automagically generate the bookmarklets for you.  You just drag them up to your browser quick links and now you have the keys to the kingdom.

Let me know if anything isn’t clear – I did the extra work so that it could be useful for you.

Making Context Free Art

If you are reading this post in your feed reader, you’ll want to click through to my actual website. Trust me on this one.

I was really impressed with Aza Raskin’s ContextFree.js experiment. I like how the simple rules of a context free art piece generate complex forms. See below, that text will turn into something I can’t exactly predict.
I’ve added a few comments to help you understand what’s going on there.

//all context free art starts with a single rule.  Ours will start with a rule named face.
startshape FACE
//and here is the rule FACE
rule FACE{
//a FACE rule means that we should draw the rules EYE MOUTH and HEAD.
 EYE{}
 // flip an eye over to the other side of the face.
 EYE{flip 90}
 MOUTH{}
 HEAD{}
}

//OH NO! We have two rules named HEAD.  Context free will randomly pick one
rule HEAD{ CIRCLE{}}
rule HEAD{  SQUARE{}}

rule EYE{CIRCLE { s .1 b .5 y .12 x .3}}
rule EYE {SQUARE { s .1 b .5 y .12 x .3}}
rule EYE {SQUARE { s .1 b .5 y .12 x .3 r 45}}
rule EYE {TRIANGLE { s .1 b .5 y .12 x .3}}
rule EYE {TRIANGLE { s .1 b .5 y .12 x .3 r 60}}

rule MOUTH {SQUARE{ s .8 .1 y -.12  b .5}}

And here is a randomly generated face, all made up of squares, circles, and triangles:

Want more faces? Go mess about with my face generator on Aza’s demo site.

update: in the comments Chris came up with a bunch of great mouths for an even better face generator!
The art is context free because any rule can be executed without knowing the context of the other rules – they are side-effect free. (these are the kind of problems that work well on lots of processors)
It gets much better. If you are using a modern browser, you’ll see that the heading of my website now is using this to generate random art up there in that previously wasted space.
Reload the website, you’ll see different art generated according to a handful of tiny algorithms. If you can see this, you might want to switch from Internet Explorer to Firefox or Safari. They both support the cool stuff that I’m doing, but you can’t see right now.

Ramblings about add-art

Ignore this, it is just a braindump from the train.  Unless you want to help out.

I’ve started working on a project called add-art.   The idea is to turn advertisements into beauty.  It is based on the popular ad-block-plus firefox extension, but instead of leaving holes where advertisements are removed, it would insert art.  Curators could book shows on add-art.org for artists.  When you go to a website with tons of ads, they would be replaced by art images.

Great stuff!   Once we get the plugin working with add-art.org, we should look at decentralizing it.  Let the extension communicate with multiple ad block lists and multiple replacement image servers.  Then package the add-art.org server as an installable package so anyone can run it.  Let users pick up the url of other servers as a way to get art from the artists they like on their browser…

Deviantart might run something like this.
Maybe flickr/explore/interesting could be a provider.
Hell, why not use atom/rss as the provider and let any rss list of images be the provider?
Image sizing becomes an issue.  You need to stick in appropriate sized images.  If they aren’t the right size you’ll need to slice them up on the client side.  Is that cheap?  Does the browser give you a way to not only decently resize, but also slice from an image?

Offline and online

Google came out with a good idea a while ago called Google Gears.  The idea is to make some of these new fangled web applications able to function when you aren’t connected to the internet.

It never seemed like that great of an idea to me, but I’ve been using a personal Wiki to track household stuff with my pardner Sam.  I’ve been wishing for a wiki that I could use when I’m on the train and away from the internet.

I love the network.  When you are away from it though, why couldn’t you have a better cache – a mini net that is the last known version of what you seem to care about.  I’ve been using programs to download entire websites locally so I can read them while I commute.  It would be nice if you could just mark them as being of special interest in your browser.  Let computers hum and whir and keep it all up to date and in synch.  If we can do it with email, could we do it with the web, or at least the web I’m interested in?

Some folks think that offline and online will disappear as the network penetrates every corner of the world.  I doubt it.  Someone’s got to pay for it. More folks are interested in drinking water than BoingBoing, but it hasn’t penetrated every corner of the world.

The shotgun approach to recruiting is counterproductive

> Hi Matthew,

>

> I'm very impressed with your rating/experience.

> At the current time, I have a few clients that are looking for experienced

> Ruby Rails developers (both contract & permanent) like yourself. There

> is

> lots of room for creativity and growth at these places.

>

> So, my contacts are below if you're still looking. Also, if possible, can

> you pls forward me

> your current resume?

>

> Thanks much!

>

> Leslie Doan

> ******************

> Managing Partner

> MINDSPHERES, INC.

> 2570 North First Street

> Suite 200

> San Jose, CA 95131

> C: 408.386.7246

> E: leslied@mindspheres.com

> W: www.mindspheres.com
Hi Leslie Doan,

I know it's tough to be a recruiter.  Cold calling is difficult and much

of recruiting is a volume game.

But you aren't doing yourself any favors with this email.

You're starting this relationship with me by lying to me.  You say you've

looked at my working with rails profile and been impressed.  But that

can't be true.  I've never worked on a real rails or ruby project.  I have

no ratings or experience, so how can you be impressed.My resume is also clearly linked from my working with rails profile.  If I

can't rely on you to know that, how can I trust you with my career?  I've

worked with a lot of recruiters, and I know that high volume folks treat

you like a tiny number. They are usually more interested in getting you

hired anywhere at any price so they can collect a commission.  I smell

that big time in this email.

If you show any level of familiarity with who I am or any of the many

links on my profile, I'm so much more likely to work with you.

Hope this helps you, and good luck in the recruiting game,

Matt

p.s. To make this letter worth my time as well as yours, I'm putting it up

for my pals on my website.  Don't worry, I don't have a very high

readership.



As you might imagine, I haven’t gotten a response from Leslie. I don’t think she’s interested in investing time in my career.

First Spam!

When you have your own domain, you can set up mailboxes on it. Since I own MoreLightMoreLight, I’ve been using it to track spam sources and have been lucky to not get any spam until today. Any time I can avoid giving someone my email address for a signup, I do. If I can’t, I just give them their domain name @ MoreLightMoreLight. That way if they get scraped for spam I can kill that particular service and email address.

I signed up for the Ziki social network because they allow openid logins and it’s supposed to be the next linkedin. I’m not very impressed. Servers are slow, nothing seems to be responsive, and they got scraped for my first spam ever.  I’m elated and unhappy at the same time!

Spam is after the jump

Continue reading First Spam!