October 31, 2009

As shown on a fake news site, tweetedbrands is a site that shows the number of tweets for the 50 most popular companies -- or the 50 most popular tweeted companies, not sure. Anyway, it's doesn't seem to update, so this greasemonkey script updates the values in the background:
tweetedbrands.user.js
When it's running is periodically will update the counts. When it starts updating a count, that count will turn green , i.e. from this
tweetedbrands1.png

to this
tweetedbrands2.png

(Yes, I realize the second value is lower; that screen shot was taken after) and then variably start counting up to the new value. It somewhat evokes enough shits and giggles to be worthwhile -- just barely.
Posted by jeff at 04:14 PM | Comments (0)

The other day I had a few errands to run (I know, startling), and I wanted a map of their locations -- couldn't find one. So, gcalmap maps out your google calendar, if it's public. Mine's not, but r2potatoo@gmail.com's is, and here is a map of his (or her) calendar.
gcalmap-ss1-small.png

I was going to use the goog's data api, but for reason it wouldn't load. Really, it would seem to prevent the map from loading, and despite following the instructions...nothing. So, I cooked up my own little API, so it's not guaranteed to work. The main difference is that the calendar feed has recurring events and single events, so those need to be handled differently. So, don't use this in emergencies (be it fire, tornado, or otherwise).. Yeah, that's enough.
Posted by jeff at 10:05 AM | Comments (0)

October 30, 2009

I re-re-invented the wheel this morning (and last night) by making yet another URL re-writer:
http://urlu.ms
But there are two things I think this one has that others don't:
  1. You can choose a category for the new link to that it, itself, carries a little information about the site to which it points.
  2. Instead of just shortenting links, you can choose a descriptive new link and the site will try to come up with one that matches the site of interest using content from that site.
Still, lots of bugs, etc. But, a fun little project; hopefully people use it so I have lots of data to play with -- all annonymous of course.
Posted by jeff at 05:05 PM | Comments (0)

October 29, 2009

googlist is a greasemonkey script to provide a toggle menu on pages that has showed up in google search results. So, after you search for something with google, when you visit pages contained in the search results, a menu with appear on the page with all the search results. This eliminates the pattern of doing a search, opening a numbers of tabs, then navigating to- and closing all the tabs. Here's how you use it.
  1. After performing a google search, for example for mr potatohead
  2. When you visit pages contained in the search results, you'll see a link in the top/left corner
  3. When you click on this link you'll see a list containing all the search results that included this page and you can click one of the other ones to continue visiting the search results
There is a singleton model for 'security' and laziness sake; i.e. there is one history per browser, so everytime you search you abolish the last search results.
Posted by jeff at 01:49 PM | Comments (0)

October 28, 2009

schwarzenator turns your text into a
form s-
uitable for a letter from the Governor of
California. The rest is ma-
king this post contain enough
yummy letters t-
o make it
up to snuff.


(in reference to this)
Posted by jeff at 04:42 PM | Comments (0)

I post usescripts to userscripts.org now and then, so I was curious what are the popular times to post, etc. And, what are the times where the scripts with the most installs, reviews, etc are posted/updated. So, here are a few graphs looking at that. They are taken over a week and show the sum of certain measures related to post hour. The last one is normalized a little, throwing out outliers.

userscripts-pages.jpg

userscripts-fans.jpg

userscripts-posts.jpg

userscripts-installs.jpg

userscripts-installs-normalized.jpg
Yeah, not tons of info here. But, if anything is taken, it's that the latter part of the day is the time when scripts with higher numbers of these measures are posted/updated. So, without knowing the relation between traffic and time, one would conclude that you would want to post during the beginning of the day to stand out. That, and use curl to falsely up your install count.
Posted by jeff at 03:14 PM | Comments (0)

As much as I want to meet sexy singles or learn how to get a hollywood body, the ads in the middle of digg suck. Use this GM script to remove them.

In other news, I lost one of my iphone cables, I have no clue where it is, what could have happened; completely confused. There was one in my front room, one in my bedroom, one in my kitchen. This isn't life-changing, but it's similar to walking into the bathroom only to notice the toilet's not there, sort of.

Also, yesterday I was watching way too many episodes of this show on hulu about wall street. I think the second (and final) season was filmed in 07 or 08, but it's worth wasting your evening and watching a bunch of them simply to hear how 'things suck' because of the looming subprime mortgage crisis. Ha.
Posted by jeff at 11:32 AM | Comments (0)

Let's face it, shopping on craigslist is a brute force effort, and no one wants to waste (1) mouse clicks, (2) time reading the drivel left by the poster (ironically, you're reading this?). Anyway, showemails is a greasemonkey script to show the contact info for craigslist postings on the subject page, so you don't have to actually open the posting to contact the poster. Here's how you use this thing.
  1. Whenever you visit a craigslist subject listing page, you'll see an extra contact info link to the right
  2. When you click this link you will see one of three choices, if the poster has put the standard Reply to email, that email will show up in a relatively-gross pinklike color
  3. If the poster hasn't hidden their email address, but it could be found on the posting, if will appear orange-link
  4. Finally, if no email could be found, it will look brownish
Posted by jeff at 09:25 AM | Comments (0)

October 27, 2009

ping is a little utility to graph ping times (brought about by poo-like wifi lately). Running it looks like this



Here's the code and jar, though it's really one file -- Ping.java.
Posted by jeff at 11:08 PM | Comments (0)

Sometimes it's useful to have the IP address of people emailing you, so here's a bookmarklet that'll show the IP of a thread a gmail messages.
gmailip
Click on it when you're looking at a thread of gmail messages and an alert will show the IP of the first originating message. Here's the original javascript:
gmailip.js
Posted by jeff at 03:00 PM | Comments (0)

twittertime is a greasemonkey script to show the actual post times for twitter posts instead of the 'about' times. Here's how you use it.
  1. Whenever you visit twitter, instead of seeing an estimated time, like so
  2. you'll see the actual time (converted to the local time zone1), like so


1 denotes pain in the balls because I couldn't find how to do this correctly
Posted by jeff at 10:09 AM | Comments (0)

Create bit.lyed URLs with one line
require 'open-uri'

ARGV.each do |u| 
  puts open('http://bit.ly/?url=' + u).
    read.match(/short_url">([^<]+)</)[1] 
end
Posted by jeff at 08:51 AM | Comments (0)

twitterhover is a greasemonkey script to show user information as the titles of twitter user links instead of just the user name. Here's how you use this:
  1. Whenever you visit twitter, instead of seeing just the name in the popup over a user link, like so
  2. you see more user information, like so

Posted by jeff at 01:41 AM | Comments (0)

October 26, 2009

I was just thinking, what is the one thing missing from facebook, and it came to me....Dorothy, Rose, Blanche, and Sophia. That's right, goldengirls is a greasemonkey script to play the Golden Girls theme whenever you log into facebook. Not only will this 'close the loop' on the facebook experience, but it will also bring you and your co-workers that much closer together.
Posted by jeff at 09:42 PM | Comments (0)

I learn about shop lifting on reddit

shoplifting-reddit.png
Posted by jeff at 11:33 AM | Comments (0)

setall is a PHP/email-based project to support setting your various statuses (e.g twitter, facebook, ...) by email. The idea is that you can set your status by sending an email, and, in the future when these systems support GPS information, the subject of this email can be that. This page is set up to make this easier, by providing a link to mail your status with geo location in the subject. I started this at about 8:30am this morning, and it's not 10am yet, so it's in its infancy, but works (for me). It's hosted by the goog here:
http://code.google.com/p/setall
For all those worrying about the hole in front of my house being dug the other day, I'm happy to say it's been sloppily covered up. There is now what appears to be a rectangular-shaped vat of tar instead. Yea!
Posted by jeff at 10:01 AM | Comments (0)

October 25, 2009

flickrgeo is a greasemonkey script to insert a little google map on flickr photo pages (perhaps) whether or not they 'officially' have GPS information included in the image. Here's how you use this:
  1. Whenever you visit a flickr photo page you'll see a new side panel for location...
  2. If the original image does in fact have GPS information in it, despite whether flickr chooses to export this information through their API, you'll see a map appear...

Why have I used this photo twice in one day? Flickr 'claims' it doesn't have GPS information, but the original image, taken with a satan device, does; and I can make a good guess at where it was actually taken. For some reason all the geo information inserted with my camera is poo.
Posted by jeff at 02:24 PM | Comments (0)

I ran across a couple images that made me wonder where they were taken, so imageo is a little page to geo code images that you upload or to which you point. When you've geocoded an image, say this one, you'll see something like this

You can either upload it as is obvious on the page itself or use the bookmarklet
imageo
and click it when you're on an image for which you'd like the geo information.
Posted by jeff at 10:36 AM | Comments (0)

October 24, 2009

I just read Michael Nutt's canvas demo and tutorial, and it's really cool...so I made a take on it -- waves -- with a little bit to allow you to control the direction of the waves by tilting your laptop. The code is here
waves.tar.gz
You can run it with make run or you can download and run the jar
waves.jar
In any case you'll need a mac and AMS Tracker (put it in /Applications). When running as you tilt your mac laptop, the waves will change, like so

Posted by jeff at 10:42 PM | Comments (0)

I'm not a big fan of certain reddit domains -- e.g. self.IAmA and self.AskReddit... so, instead of complaining about it (maybe just a little) customreddit is a greasemonkey script to remove articles from domains and subreddits you don't like. You can enter domains you wish to be excluded, and articles from those domains won't show up in results.
Posted by jeff at 04:38 PM | Comments (0)

Facebook comments are often poolike, so, here's a bookmarklet to remove other peoples' comments on a facebook page
remove comments
You can imagine what it look like without a screen shot.
Posted by jeff at 09:20 AM | Comments (0)

October 23, 2009

Apparently there is no littering (spelled with a P) twice a week for an hour and a half in front of my house


Good to know.
Posted by jeff at 02:01 PM | Comments (0)

facebook growl is growl integration to facebook chat. When running you'll get growl notifications for facebook contacts signing on and off, like so
It's a nice combination of a bookmarklet, javascript trickery, applescript, and Java.

As yes....you'll now be able to sleep tonight with firm accurate knowledge of exactly who of your facebook buddies is currently logged in.
Posted by jeff at 01:47 PM | Comments (0)

A nice ruby one-liner for finding your public ip
puts /([\d\.]+)/.match(open('http://checkip.dyndns.org').read)[1]
Also, if you have nunclear weapons at your disposal -- even plain chemical weapons will do -- please drop one in front of my house to shut up the guy with the jack hammer. I know he's just doing his job, but I've got as much appreciation for him right now as I would a dentist giving me a root canal.
Posted by jeff at 08:36 AM | Comments (0)

October 22, 2009

record is an idea from Felix last night (though he's still out of town, so I got to make it), where you can record a journal of GPS locations and merge them in a set of photos. The use case is this: You have a quality camera that doesn't have GPS, but you'd like to have GPS coordinates for the photos you take. So, while you're taking photos, you record a journal of your GPS locations and them merge them into the photos later. The straight-forward solution would be to have an application to do this. My way of doing it is to record you locations in javascript, mail them to you, copy them into a text file, then run a Java program with an some embedded Perl to write the GPS coordinates as exif data. This way doesn't require you to have a device of the dark side.
Posted by jeff at 11:51 AM | Comments (0)

October 21, 2009

i-heart-emacs.png
Posted by jeff at 03:04 PM | Comments (0)

searchlinks is a bookmarklet to search the URLs (i.e. href attributes) of a page. To use it, when you're on a page of interest, click the searchlinks link, and you'll be prompted for a search term
searchlinks1.png

then, if there are links satisfying this term, they will be colored gator colors, going from this
searchlinks2.png

to this
searchlinks3.png

and the window will scroll to the first one. Here is the original javascript
searchlinks.js
Posted by jeff at 11:02 AM | Comments (0)

October 20, 2009

define is a little command line definer -- to avoid using the dreaded browser. Example
% define dog
1. a domesticated canid, Canis familiaris, bred in many varieties.
2. any carnivore of the dogfamily Canidae, having prominent canine
   teeth and, in the wild state, a long and slender muzzle, a
   deep-chested muscular body, a bushy tail, and large, erect
   ears. Compare canid.
3. the male of such an animal.
4. any of various animals resembling a dog.
5. a despicable man or youth.
6. Informal. a fellow in general: a lucky dog.
7. dogs, Slang.  feet.
...
Posted by jeff at 09:35 PM | Comments (0)

Here's a graph relating the number of comments made for today's top reddit articles to the time since those articles were posted.
reddit-comments-small.jpg
The x-axis is time in hours, and the y-axis are the number of comments made that hour. Looks like the peak commenting time is somewhere around 3-6 hours, with one obvious outlier...
Posted by jeff at 03:52 PM | Comments (0)

Sweeping changes to usecurrentlocation puts your current location in both the directions input and the normal one...wow.
Posted by jeff at 11:11 AM | Comments (0)

WTF! This scarecrow lego guy is $36 on amazon!!!
41fNZQAPFcL._SL500_AA280_.jpg
Now, he's cool, and tempting, but 36 bucks? No way. Amazon's hitting that crack pipe again.
Posted by jeff at 09:29 AM | Comments (0)

October 19, 2009

I'm in a starbucks and my ass hurts. But, potatunes works again
potatunes-crappod.png

as well as the little one to the right.
potatunes.png

Thanks to the cum-guzzler (excuse the term, semen-slurper is more appropriate for mixed company) that stole my laptop and other stuff, the world has had to go without knowing precisely what I was listening to for a little while. Working on a way to make this generic; for those curious is a little ruby and applescript...and, working on a way to sit in hard chairs without wanting to chop off my butt.
Posted by jeff at 03:21 PM | Comments (0)

mycraigslist is a greasemonkey script to save and manage craigslist posts that interest you. When visiting a craigslist page you can save a page and then later visit this page to manage all your saved pages. This doesn't use a remote server, so everything is saved locally. One drawback is that there is a single-user model -- i.e. there is a list of saved postings per browser.

Once installed, here's how you use it
  1. Whenever you visit a craigslist posting, you will see an extra link at the top of the page that will save this posting to your list of saved postings.
  2. After you save a page, you'll be able to remove with the same (but differently-named) link
  3. After saving one or more postings, these postings will appear green in the subject listing pages.
  4. Also, after saving one or more postings you can visit http://jeffpalm.com/mycraigslist/manage to view and manage your saved postings.
Posted by jeff at 09:31 AM | Comments (0)

October 18, 2009

warnings is a mashup showing NOAA warnings taken from here. If it works you'll see markers indicating weather and other types of warnings around our great country, like so.
weather-warnings-goat-humper.png
I obviously need a proxy to do the GET from javascript, so if you need a XML-ish source of NOAA events it's here
http://jeffpalm.com/warnings/lookup.php
Happy Sunday.
Posted by jeff at 12:22 PM | Comments (0)

I know I've written this before, and it's trivial but useful. unpack generically unpacks archives like tar balls, zips, etc. To use it just pass in archives and it'll use the appropriate tool to unarchive or bitch and moan like a wounded goat if it can't find one.
Posted by jeff at 11:48 AM | Comments (0)

October 17, 2009

nycweather is a crucial page showing the varying temperatures over manhattan today.
nycweather.png

  • = 48°F
  • = 47°F
Consider yourself informed.
Posted by jeff at 02:54 PM | Comments (0)

redditcolor is a greasemonkey script to colorize reddit articles according to score. i.e. the higher the score, the hotter the color. Whenever you visit reddit, higher scoring articles will be redder...



while colder articles will be grayer.


Uh, and yeah, between writing and posting I noticed I screwed up -- the gray scores should be blacker -- I didn't feel like making new screen shots. I'd rather make some scrambled eggs. More than that, I'd rather eat some scrambled eggs.
Posted by jeff at 01:59 PM | Comments (0)

October 16, 2009

glickr is a little mashup that will show random, periodic flickr images taken in your current vicinity.
3.png 2.png 1.png
Posted by jeff at 06:16 PM | Comments (0)

entry is some quick ruby that takes as arguments apache log files or ips and print out the entry points for those ips. Example entry access_log 12.23.34.45. Useful for seeing where certain customers came from if there are distinct entry points.
Posted by jeff at 10:31 AM | Comments (0)

Here is a youtube clip showing how to use the iphone clipboard controller. Apparently starbucks doesn't allow connections over the local subnet, so I had to wait until I was stealing another wifi network to actually test it. It works.
Posted by jeff at 09:46 AM

weather is a greasemonkey script go to forward to your local zipcode's weather when you visit weather.com. So, instead of typing your zipcode everytime into the input, you will be automatically forwarded to your zipcode's weather conditions if your browser supports geolocation. This is ideal for those who are
  • On the go a lot
  • Really fucking lazy
I am guilty of the latter this morning by wishing for a way to find out how cold it was outside without (1) going outside or (2) entering my zipcode into a form.
Once installed here's how you use it.
  1. Whenever you visit weather.com, you will be forwarded to your local zipcode's conditions
  2. instead of seeing the normal, generic homepage.
For those curious there is a good database of zipcode lat/lng coords here.
Posted by jeff at 07:50 AM | Comments (0)

October 14, 2009

Feature request to Apple
I have two equally-good user icons:

spud-right.jpg             spud-left.jpg

But, the problem is that when I use ichat I see the icon on the right side, so, to effectively convey the image of him speaking the chat, I want to use the one facing left. But, when I use AIM on my phone or on other clients, it appears on the left, so I'd want the one facing the right. Please add a feature to ichat declaring two user icons -- left- and right- facing icons--to solve this pressing problem. I can't be the only one experiencing sleepless nights due to this problem.
Posted by jeff at 11:58 AM | Comments (0)

October 13, 2009

Here is a little javascript to do 'declarative input validation' for HTML input elements.
validate.js
The idea is that to validate an input's value, you can do one of two things.
  1. Assign a certain class name value, e.g.
    <input class="validates_email" ... />
    for validating email input. Currently I support that one and
    • validates_zipcode
    • validates_phone
  2. Use the validates attribute to validate an arbitrary regular expression, e.g.
    <input validates="\d+" ... />
    to validate that the input should be a number.
If there is invalid input you are prompted to fix it. To use it include the javascript file, validate.js, right before the body tag, e.g.
<script 
 type="text/javascript" 
 src="http://jeffpalm.com/code/validate.js">
</script>
There's a example here.
Posted by jeff at 04:33 PM | Comments (0)

In more macalarm news, it now sends a webcam picture of the person stealing your laptop via twitpic, for example
So, everyone can at least see a picture of the person stealing it. In this case, I was the person fake stealing my laptop, but in general, being on crutches my nice new shiny macbook is a prime target; it's nice to know that, at least, if someone steals my laptop while in the starbucks pooper, their mug will be smeared all over the interwebs.
Posted by jeff at 03:15 PM | Comments (0)

I updated macalarm to tweet when your laptop is being stolen...just put your twitter creds in the options:
I know, I'm so fucking with it it makes you vomit. I superfluously incorporated twitter into something, again.
Posted by jeff at 03:01 PM | Comments (0)

October 10, 2009

usecurrentlocation is a bookmarklet to insert your current location into the A input field on google maps. To use it copy the following link to your tool bar
use current location
And after clicking to get directions on google maps click it and your current location will be inserted into the first input field like so.
Posted by jeff at 12:24 PM | Comments (0)

October 08, 2009

clip is a controller and history app of your clipboard. The purpose is to keep the last 10 (or user defined) number of clipboard items, select from those, and offer a way to controll them wirelessly. I use the javascript trick to serve page from jeffpalm.com, yet control another computer on the same subnet. There is a desktop version that looks like this:

and a web way so you can control your clipboard from any device, including your phone of feath, like so:
Posted by jeff at 12:30 PM | Comments (0)

October 06, 2009

While edging into my third hour waiting for a stupid appointment I made a tiny change to findme so the link will prompt a satan phone to drop s marker, like so
On another note, it would be great if
  1. My phone didn't think I was in the east river, and
  2. All the inneficiencies of our horrible health care system could be harnessed into something good--like the way the subway captures the energy in putting on its brakes. We could have a big donut party.
Posted by jeff at 12:05 PM | Comments (0)

October 04, 2009

connectn is a Java version of Connect 4 using spudtrooper and darthtater and a small amount of intelligence. Here's what it looks like
Posted by jeff at 11:40 AM | Comments (0)

October 03, 2009

I like (or at least used to like) reddit a little better than digg, but digg's got edge of a mobile site and it's a pain in the balls to read reddit on a phone. So, mreddit is a version of reddit that looks like digg's mobile page. So, to read reddit you can read this...

instead of this...

Posted by jeff at 12:56 PM | Comments (0)

October 02, 2009

According to these Lego packages,


they are appropriate for ages 5 to 12. But, there's also a warning that it's not for children under 3. This clearly raises ( not begs) the question, what about those kids ages 3 or 4? They're left out of the fun of both playing and choking on the pieces. I think Lego needs to throw in a few pieces that are either large enough to play with, or small enough to choke a 3 or 4 year old.
Posted by jeff at 08:25 AM | Comments (0)

October 01, 2009

Something to do on the 21st.
Posted by jeff at 05:09 PM | Comments (0)

I hate some subreddits, e. g. IAmA, so here's a bookmarklet (because I can't write greasemonkey scripts on my phone) that color codes the subreddit links on reddit so your eyes can wander to those that have a chance to be interesting:
color subreddits
Here's what it should look like

Posted by jeff at 11:01 AM | Comments (0)