blog
I wanted a solution that was both quick, practical, and good for the environment; so I came up with this -- a cereal bowl made from a paper towel and half a Starbucks straw, and here are the steps:
-
Start out with a whole paper towel and half a starbucks straw (this way you can have two bowls!)
-
Then, fold the towel along the center axes, making creases, like so
-
Fold the four corners to the center making a diamond
-
Cut the half straw into four roughly-same shaped pieces
-
Grasping one corner, pinch along that center crease about 1/3 of the way to the center with your fingers
-
Then, fold that pinched section fso that the top edges are lined up
-
Cut all four star pieces down the center about 80% of the way; leaving only a little uncut section at the top
-
Fasten the pinched section from before like so
-
Repeat steps 5 through 8 three more times
-
Fill with your favoriate cereal
1The astute reader will notice that it's quite ironic that the author loves cereal so dearly, yet owns no bowls.
Lastly, and I mean that today, my mail was spotty today from around 2:30am until 11am or so. So send to my gmail account instead, I can still retrieve mail sent to jeffpalm.com, but I can't now read it in gmail, so don't get the spam filtering for free; so finding a legit message on the screen is like searching for a virgin from Chalmette (if you're not from New Orleans, esp. if you're from Chalmette, you probably won't get that).
I spent a good part of the evening playing my little guitar and watching rats the size of small wildebeest make the street on which apartment lies their play ground; that was actually pretty gross. I love this thing, always have (and that says something given that its main competition is a Taylor 800 series), as do most people who I pass doing with it what makes it so great, just walking and playing. Why not? Lots of people listen to music while walking, and I'd bet you have a much greater chance of running into a sign or tree or person or have something run into you listening to music as opposed to playing it. Of course, your chances are raised in either case when the you is me.
Anyway, I don't think I had actually recorded anything with it, though I already loved it's twangy, banjo-like sound. But, this comes through so much more going through a crappy laptop microphone outside to Garage Band. Have a listen (the part and track were chosen for optimum twanginess, not optimum goodness). I had started playing the banjo a while back, but it as too twangy, and no matter how much I tried not to, I played it like a guitar; I also left it by accident in California when I was interning there one Summer. So, it's nice to have something that at least kind of sounds like a little like one.
OK, checking up on the downloader, and I take back what I said easlier about is appearing to work when I didn't correctly pause the downloads before disconnecting...By not pausing the downloads, you end up losing them, and the downloader thinks that they've already been downloaded...Boooo, I don't like this.
amazon downloadsDrag that link to your toolbar and when you're on such a page, click it, and you'll start downloading the tracks available for download via the installer. Here is the normal javascript.
First, why? Well, my laptop was stolen and I had bought (because I'm honest) lots of amazon tracks, and they were nice enough to let me download them again. The problem being, many were single tracks, and the way you download them is to navigate to your Your Media section of your account; if there's a download from an album (even just one), to download the track, you select the album page, and then click the link. For multiple tracks, there are that many links -- hence, that many clicks; hence that many times you're forced to scream "FUCK" in a crowded coffee house. So, this takes the pain out, and opens them all with one click. Also, in the event you have only one or a few, you don't have to search for them, because (and I don't have an example, because they are al being downloaded as we speak) the link to click is either Download or Track Name, and they can tend to be hidden
OK, a few more notes.
- It has to open a new window to start the download, so you'll be asked to alow popups from amazon.com -- so, do it.
- This script waits 2 seconds between initiating the download, because if done one right after another, amazon thinks it has already been downloaded...don't aske me why?
- After started the Download link turns bold and italic, like this: Download.
~/Library/Logs/CrashReporter.
Anyway, I have no clue where my first two phones went; on Saturday
we tested durability in a very controlled environment.
Beginning to see how many strikes in would take to make a whole in
different areas -- e.g. the top, middle, bottom. These numbers varied
from around 15 to 25. So, quite durable. We then proceeded to to see
how many times (granted, with a few holes in them) it would take to
basically be turned into rubbish after being hurled against a brick
wall. That number was close to 1. Back to the matter at hand, I've put together a little history of my life with this device. So, at first I was thinking I'd show the boxes for the first three, because I must've thrown away the first two (and, yes, they were completely unsalvageable before their demise) and the third was taken by Apple tonight, but, no; these are their coffins...yeah, that's much better. And each is accompanied by a spokes model (or two).
At the beginning there was Number 1, as she is seen with the Nuns, which was a gift from South America.
So, I stood two days from the release of the 3Gs -- no, I didn't get the normal 3G -- so I went phoneless until that Sunday and picked up Number 3, claimed by R2potatoo.. Not a chance I was going on the release day, Friday, not exactly sure I didn't go on Saturday, then Sunday got it. And, like Number 1 didn't -- and as far as I know, hasn't -- died, but she did suffer from a very serious malady; you could compose or reply to emails, or search the email. So, she's in rehab at the 5th Ave store, probably heading to Cupertino soon.
Then came Number 2, being levitated by M-Vader, which proved to dislike the water, and ended up going by a death of water damage; don't know when, don't know how, but she's gone. After going is when Number 1 came back in the picture, and kept going until last Wednesday when, while exposed to about 5 seconds of a downpour while in my pocket, she underwent the same death.
Finally, today, as Trick or Tater holds her, is Number 4. So far so good, we'll see. . .
send_position.tar.gzWhat you'll do (and it's all explained in the README) is create some confiruation variables in PHP and Ruby telling the name of the data file, where to send the results, etc. The data is simply stored as tab-delimited, name-value pairs separated by a token oyu choose. I didn't including any other code for analyzing or presenting the data; but the data (and mainly IP and location) is what you want. So, it's very rough on the edges, but could help and serve a purpose.
Then some asshole walked off with it; have fun guessing the password. Now there is Trick or Tater and his buddy House of Cheese:
att.user.jswhich is a greasemonkey script to just choose to ask later. This, of course, assumes you don't want to enroll in AT&T's paperless billing. It is somewhat untested, as I guess AT&T doesn't *really* show you the sign up option every time; so it runs on two pages So, use at your own -- not risk, because nothing is going to hurt you, but I can't think of a good word for at what you should use this, "schnucks and giggles", to quote Jon Stewart -- but it may not work...I guess we'll see when I get this question screen again.
The line shows the accumulated number of registrations using names taken from the 1000 (really about 1200) most common American first names taken from here; and since the Integer never lies, I'm taking this to be a hard fact. The bars show the number of usernames registered on or around that minute -- i.e. for a position xx, that is showing data for minute 1:xx AM. Hence, for a name name, the URL used would be
http://facebook.com/name...luckily no one
took mine: mine. There were a bunch I was tempted for, such
as sony, nbc, etc..., but I'm partial to potatos.
In other news, I spent about an hour last night giving away donuts on the lower east side, which sparked an idea to come later.
mystarbucksvisitand use it if you 'win' a free beverage from the coffee tyranny after filling out the survey by clicking it on every page. It'll make sure every
radio input row is pressed, at least,
one checkbox is clicked, every select has a
chosen option, and then submit then Next form. So instead of
wasting at least five minutes -- which isn't worth it -- you can do it
in about 7 seconds -- which depending on your occupation may not be
worth it, but it could be.
Suppose, in Ruby, I'm going over an array,
lst =
[1,2,3,4], printing every item, I would do something like:
lst.each { |x| puts x }
But, say, now that I want to do something before I print it. So,
without this emacs wet-dream, I would move the puts x to
a new line, put the } below that, and since I think
brackets are ugly I'd change the { to a do
and the { to an end, like so:
-
lst.each { |x| puts x } -
lst.each { |x| puts x } -
lst.each { |x| puts x } -
lst.each do |x| puts x }
-
lst.each do |x| puts x end
- Then insert whatever else
tinyIMThe first two will ask for a recipient and them send via that instant messenging service and the last one will automatically load up whatever your default mail client is with a message to send.
tinyYahoo
tinyMail
I've also added this to the notes system, so you can send your annotated web pages via instant messenger or directly email them without going to the tinyurl screen and then choosing the delivery method. See the notes page for these separate bookmarklets.
http://code.google.com/p/multilangapiThis is pretty old, and I did it with Ben a while ago, but the idea is that you read in a file, such as spec.txt and get out an implementation for a API for this data like this:
http://jeffpalm.com/db/for various languages. Just a proof of concept, really.
Hmmmmmmmmm...the weather is pretty crappy outside, but I'll take a little run -- I mean little, yesterday's was not that. More over, my shorts really stink, I should probably think about washing them. And speaking of stink, if the dry cleaners don't have my last shirt today that they claimed to have not lost, I'm raising one.
The source is here.
and here is a stacked, accumulated version.
Both created using this
twittergraphs.tar.gzTo create one
- Download and untar/unzip twittergraphs.tar.gz.
- Create a file
creds.phpas explained by running the file./friends.phpwith no arguments. - Type
make, and the results will be inresults.csvandresults-accum.csv. This will just do this:./friends.php > friends.csv ./collect friends.csv > results.csv ./collect -accum friends.csv > results-accum.csv
Why don't they have a fucking BLIMP!
expr, and of course it didn't work, because it was
using integers. Not wanting to use a browser I
made fexpr, which is a floating point
version of expr; I'm sure it exists somewhere (in many
places), but oh well. It's a little recursive decent parser and, I
think, conforms to most of expr. There's a test suite of
about 60 tests you can run by ./fexpr -test, you can see the help with ./fexpr -help, and you can
turn on tracing for the parsing-curious by ./fexpr -trace
.... A couple examples:
$./fexpr 1 + 3 "*" 4 / 7 2.71428571428571 $ ./fexpr -trace 1 1.0 1.0 $ ./fexpr -trace 1 + 2 + . 1.0 . 2.0 3.0 $ ./fexpr -trace 1 + 2 "*" 3 + . 1.0 . * . . 2.0 . . 3.0 7.0 $ ./fexpr -trace 3 "*" 1 + 2 + . * . . 3.0 . . 1.0 . 2.0 5.0 $ ./fexpr -trace 3 / 2 / . 3.0 . 2.0 1.5 $ ./fexpr -trace 2 / 4 / . 2.0 . 4.0 0.5
error while writing C0.C1.C2.C3.C4.C5.C6.C7.C8.C9.
C10.C11.C12.C13.C14.C15.C16.C17.C18.C19.C20.C21.C22.
C23.C24.C25.C26.C27.C28.C29.C30.C31.C32.C33.C34.C35.
C36.C37.C38.C39.C40.C41.C42.C43.C44.C45.C46.C47.C48.
C49.C50.C51.C52.C53.C54.C55.C56.C57.C58.C59.C60.C61.
C62.C63.C64.C65: C0$C1$C2$C3$C4$C5$C6$C7$C8$C9$C10$
C11$C12$C13$C14$C15$C16$C17$C18$C19$C20$C21$C22$C23$
C24$C25$C26$C27$C28$C29$C30$C31$C32$C33$C34$C35$C36$
C37$C38$C39$C40$C41$C42$C43$C44$C45$C46$C47$C48$C49$
C50$C51$C52$C53$C54$C55$C56$C57$C58$C59$C60$C61$C62$
C63$C64$C65.class (File name too long)
class C65{
^
1 error
urbandictionaryFor some reason, before heading out, listening to a certain song made me think of this? Just include the term as arguments i.e.
urbandictionary word1 word2 ...
wordN
I'm personally partial to the animal definitions
If you click OK you'll be sent a google map of that address like this:
insert_copyright.tar.gzTo use it you first create your copyright file in
~/.copyright; you can also pass in onto the command
line with the -f switch, such as:
insert_copyright -r copyright.txt...
Then pass it any of the following files, determined by file extension
or interpreter declaration at the top fo the file, and the copyright
contained in you copyright will be inserted, if it doesn't already
exist there.
Ruby / ruby,rb / ruby PHP / php,inc / php Shellscript / bash,sh,tcsh,ash / bash,sh,tcsh,ash Perl / perl,pl / perl Python / py,jython,python / python,jython ML / ml,sml / ml Java / java / Javascript / js / C / c,cc,cpp,cs / HTML / html,htm / Scheme / ss,scm / scheme,mzc Lisp / lsp,lisp / lisp
document.location to this value, we pass it
to tinyurl to (1) create a new tinyurl
for this link then (2) give you the option to view or mail this link;
so you'll see something like this:
Here are a couple examples:
- yahoo (original) (uses scroll)
- spudtrooper (original)
<div> tag with some style to the DOM. Unlike
with annotate where I could store information
on the location and text of boxes as binding in the javascript
environment, I had to reference them directly from the DOM for this,
because on each invocation of the script, new values were taking on --
hence, each call is stateless other than the state in the DOM.
To construct the final URL, I go and grab all the relevant
<div>s with class name _mbox,
grab the x and y coordinates in the style, and the
text in a <div> contained within and create
another url. That url (target URL) and the rest of these values are
passed to load.php, which is responsible for inserting
the common.js and client.js scripts either
in the HEAD element of the target URL or creating a new HEAD element
and putting it in there; and insterting a script tag
that makes a call to clientMain(), contained
in client.js that will actually do all the work to
reconstruct the message boxes and scroll position from the location
of the created URL.
Source + Release
Here is the source to browse:AbstractHandler.javaalong with a tar ball and the built jar:
Explain.java
Handler.java
ImageHandler.java
MP3Handler.java
Makefile
Test.java
TextHandler.java
Util.java
Version.java
explain.tar.gzExamples of using could be viewing the information about an image:
explain.jar
or an mp3:java -jar explain.jar testfiles/darth.jpg Name : darth.jpg Size : 0.17 KB Modified : Fri Jun 05 07:44:43 EDT 2009 Width : 400 Height : 400 ColorSpaceType : YCbCr NumChannels : 3 CompressionTypeName : JPEG Lossless : false NumProgressiveScans : 1 PixelAspectRatio : 1.0 ImageOrientation : normal
or text file:% java -jar explain.jar testfiles/test.mp3 Name : test.mp3 Size : 1.53 MB Modified : Fri Jun 05 07:44:44 EDT 2009 Bitrate : 247 KB/s # channels : 2 Encoding type : MPEG Version 1 (ISO/IEC 11172-3) Length : 494.1061 s Sampling rate : 44100 Hz Title : The Highest Journey Artist : M83 Album : Digital Shades Genre : Alternative Rock Year : 2007 Comment : Amazon.com Song ID: 202558238 Track #1 : 10/11
If you include no files, you get something like thisjava -jar explain.jar testfiles/test.txt Name : test.txt Size : 55 bytes Modified : Fri Jun 05 09:50:55 EDT 2009 # lines : 6 # words : 8
java -jar explain.jar I support the following formats: - [png, jpg, gif, bmp, tiff]: Images files - [mp3]: MP3 audio files Everything else is handled as text
Anyway, here are some people named after UNIX commands found in
/usr/bin, /bin, and /sbin. After the site from where I'm getting the names UNbans me, I'll finish it, I just noticed that.
/bin
/sbin
normally prosthelatize bathroom products (don't go away!), but about about three weeks ago I ran out of shaving cream so I decided to use Ivory Hand Soap, and oh my god. This stuff works magic. It gives you the cleanest, smoothest, quickest shave of anything I've ever used before. Granted, I haven't delved into shaving cream experiments all that much, but I've gotten relatively creative. But, nothing can touch this stuff. I only shave my face, but I'd imagine the smooth, close, comfortable shave
translates to any part of the body. If they had an address or email on the bottle I'd write them, but they only have an 800 number; and I'm not about to spill my guts about sanitary goods to some stranger over the phone. If anything I'll call them to solicit stray for use in my magic shows.
in the city, where
is an
interior position,
is a
location on the convex null (i.e. the set of ordered points
constructing a barrier around the rest of the points),
is
the most isolated starbucks location (all the way to the bottom left),
and
is
the location furthest away from any location (to the left of the blue
one) -- found
with find_furthest. As it turns out, in
order to escape the evil empire you need to swim out into the
middle of Jamaica Bay.
The idea is there are 6 alarms -- one Main and 5 intermediate alarms. The main alarm is the total count down time; think of this as the regular time you'd set on a timer. At the end of this time period the phone gives off a small beep and vibrates twice. The intermediate alarms specify times when you want a notification, but don't want the timer to stop. For example, in a talk where the speaker is notified of having 15 minutes left, 10 minutes left, etc. The person timing wouldn't want to stare at the clock, but does want to promoptly notify the speaker of the remaining time. And of course wants to know when the entire time is up.
The source is hosted by google here:
http://code.google.com/p/multitimer/And here is quite possibly the most boring youtube video ever showing this thing 'in action'.
I thought at first I only grabbed the ones in Manhattan, but apparently not, which is main reason that the outcome is idiotic. Anyway, I'd also like to find the location furthest from all starbucks -- i.e. the most isolated place, but I'll have to do that later, not quite sure how, though. I can easily calculate the convex hull of all the points, because I would obviously want a point inside that. Then I'll just have to find a point inside that is furthest from the rest...anyway, time to run in the rain.
Here is the source: starbucks.tar.gz, or browse (though, don't get your hopes up):
For reasons I won't go into, my bill was above normal, so seeing that I didn't owe a minimum payment, I figured I would wait until next month. So, I contacted them to make sure that I wouldn't accrue interest or finance charges, and they stated that I was given a "wait-a-month" pass due to the bad economy, but that normal finance charges would apply. I usually always just pay my card so I have never run into this, but it seems a little ambiguous to have a line on the the front of your account page saying you owe no minimum payment, but you'll still be penalized?
They're now on my list.
-
You can use this URL and pass your username and password on the command line, such as
This would be the brave approach; not because of me, but because of someone else that could steal your password, being sent in plain text. Especially, as I'm on someone else's wifi right now as I type this.http://jeffpalm.com/twitterrss/?u=username&p=password -
Or you can copy this file and put in
on your own server, and simply pass the eg parameter to
the url, rather than sending your password in plain text. In order to do this you need to create a file called creds.php and put it next to the index file, that looks like this:
This will be included when you have a url, such as:<?php define('USERNAME',your-username); define('PASSWORD',your-password); define('EMAIL',your-email); ?>http://jeffpalm.com/twitterrss/?eg
http://cerealoftheday.tumblr.com/
I am, in fact, now in midtown, and the goog got it right. On this subject, I tried recruiting a friend, and his first response was "why?", as mine was. I'm now revisiting that, because there is probably very little need for google to be able to display where I am. Though, there could definitely be some applications for employers, etc, as well as long as you're keeping the location private and to yourself. Who knows, maybe tracking the ice cream man?
If you enter two screen names you'll see the intersected friends as images like this:
I've protected the innocent.
The downside of course being that I found this out because I badly need to take a pee, but this situation has clearly overshadowed that. If need be, I can always run uptown and change my pants.
without, it would look like this:
In bigger news, my neighbor decided to start playing his music very early this morning; but also turned out to be really cool and turned it down. Good thing I didn't take a poop on his door step as I first thought.
I guess you could always hold onto it, but if you don't have pockets or decide to leave it around, this could be useful...Not done, will finish later.
And now my macbook has been making a low, periodic clicking noise at a frequency of probably 3 Hz. Clicking is never good.
~/.twitter, similar to a .netrc file, like:
and then just type a message on the command line, likeusername:username password:password
If Sent. is printed to STDOUT, it was sent, or something went wrong but I couldn't tell.% ./tweet I'm typing a message
facebookcontactsExample usage:
% ./facebookcontacts
After this you'll be prompted to sign in and then OK the
app Contacts to access your profile (this is needed to get
your friends). Then it will
- Access your facebook account to get a list of your friends
- Access your address book to find those contacts that are both in your address book without an image and a friend in your facebook account
- Using these friends, download the profile image and import it into your address book
-
facebooker: Needed to access your facebook account; to install it:
% sudo gem install facebooker -
RMagick: Needed to resize and crop the profile image; to install it:
% sudo gem install rmagick -
sqlite3: Needed to access your address book; to install it:
% sudo gem install sqlite3
I couldn't find a library that abstracted away a Mac AddressBook, so I had to make a minimal one. It turns out, the AddressBook is stored as a sqlite3 database and the images are stored in a directory
Images relative to this database. So the
class AddressBook simply maps full names to lists of
images that should be there. We need a list because you may have
duplicate entries
That brings up point 2, which is, that I couldn't get at the email address of people, so I'm using full names -- hence if you have two entries in your address book with the same name, but different peolple, expect screwy results.
I also couldn't get at the profile image of the users, so I'm using facebooker to get the ids, creating a profile url, and then parsing out the profile image from this page. This image turns out to be a php file whose content is a jpeg.
Oh yeah, and obviously, you can only use it for macs. And apparently doesn't work for some non-public profiles :(, but for some it does?
But, again, it doesn't totally work. To do so, I'll probably have to make it an app. Anyway, to use it, you create an instance of
Nintendo and pass in an instance of NintendoReceiver; the latter responds to up, down, etc... and does all the work. The Nintendo class has an example one that just prints out the commands. Finally point your phone (or browser to) here, run the Nintendo class ,set the host on the web page to whatever pops up in the dialog, such as
And start controlling.
With this enabled, you would see a context menu something like this
With it disabled, it would look more like this
The update is on the site above or should show up here soon. Either way, there seems to be something screwy with the mozilla preferences-service
getBoolPref, so this is a hacky way of doing booleans in strings. It's documented as a method -- along with setBoolPref, but both seem to throw errors whenever called?
- Copy the following link to your toolbar
diggmenu
-
When you're on digg, click it, and you'll get a menu similar to this at the top of the page:
$ ./weather -v 10019 *** Using zipcode 10019 Today : Partly Cloudy High 72 F Tonight : T-Showers Low 64 F Tomorrow : Scattered T-Storms High 80 FI wanted to know the weather but wanted to neither open a window (a real one) or a browser.
reddit.js
test/names.js
test/points.js
The idea is that most of the time, you are simply loop over all the entries. So, reddit.js provides the function
entries(func,before,after), which will
call func(r) on all the entries r, then
call after(). The value r is defined
in reddit.js and contains an object of
type Reddit, with the following signature:
LinkHere is a bookmarklet created using reddit.js that just alerts the name of all the entries
Stringhref
Stringtext
Linktitle
Linksite
Stringtime
Linkuser
Linksubreddit
Stringpoints
Linkcomments
alert namesIt's created from this code
/* Appends all the names of the entries to the top of the body */
var msg;
function before() {msg = '';}
function after() {alert(msg);}
function func(r) {msg += r.title.text + "\n";}
entries(func,before,after);
- A big bottle of laxative
- Coming home to find a letter from the IRS in your mailbox
RE:THE ABANDONED AGRIC PROJECT(US$18.5M)Could this be spam?
PLEASE DOWNLOAD/OPEN ATTACHMENTN FOR THE ABANDONED AGRIC PROJECT READ DETAILS AND GET BACK TO MEYOURS,FAITHFULLY TREVOR NKHOMO
[ 07:04 AM on April 30, 2009 ]
% rubydoc IO foreachproduces
========== IO.foreach ==========
IO.foreach(name, sep_string=$/) {|line| block } => nil
Executes the block for every line in the named I/O port,
where lines are separated by sep_string.
IO.foreach("testfile") {|x| print "GOT ", x }
produces:
GOT This is line one
GOT This is line two
GOT This is line three
GOT And so on...
This is a part of my ongoing series to get rid of the browser. In general usage is
rubydoc class method-name
[ 06:17 AM on April 30, 2009 ]
Oh man, I wish I just had my camera to witness on film (OK, on
silicon) a
man taking a shit under a Clean up after you dog sign. To
his defense, I've yet to see a Clean up after yourself
sign in all of Manhattan -- or any of the other four buros, for that
matter.
|
[ 11:55 AM on April 29, 2009 ]
[ 09:07 AM on April 29, 2009 ]
...
The way it works is that you have to first click Show friends in common, and you'll be asked to log into your facebook account then redirected back to this page. You again click the button, and then some Javascript will pull all the user ids of your friends. But, since the facebook API doesn't give access to the friends of a friend, we have to redirect to
results.php, putting the the user ids in the hash
(i.e. #) part of the document location, so javascript can
get it, and then process all the uids in a greasemonkey script. We
need to do the latter, because it allows for psuedo-cross-site
scripting, and (since logged into your facebook account), we can make
an AJAX call via GM_xmlhttpRequest in
the facebookfriends.user.js
user script and parse out the number of friends in common. Then,
incrementally, we show the number of friends they have, number we both
have in common and then the percentage of their's and yours that you
have in common with each.
[ 05:03 PM on April 27, 2009 ]
OK, I'm back, and when getting up for my refill I put my alarm on, and for the first time it was set off by someone other than myself. He wasn't trying to steal my crapbook, but he sat down pretty heavily. Anyway, delaying over. This was completely f'ing pointless.
[ 11:16 AM on April 27, 2009 ]

And, I'm so happy that my new neighbor likes Sublime -- they're cool, maybe we'll get along -- but I hope he'd realize they have more than one song.
[ 07:44 AM on April 27, 2009 ]
[ 09:40 PM on April 25, 2009 ]
And, I thought yesterday was strange after a pigeon flew into me, making it the first time I'd actually made physical contact with such a bird. But, I'd say this tops it.
And, again, YES, this is the honest-to-god truth. I'm looking forward to tomorrow, only to see what kind of f'ed up situation I'll find myself in then...
[ 06:12 AM on April 25, 2009 ]
|
|
First, they have an iPhone app for browsing their collection online. You can search for Vale Jewelry on your devil phone or download it to iTunes directly and then sync with your iPhone. It still needs some tweeking, but this is just the first release and perhaps it will pull a google and stay in beta for 7 years? |
|
|
Next they have an RSS feed so you can subscribe to be notified of their latest and greatest. I still would like to see more integration with the Mr. Potatohead crew -- especially now that there is a legit Princess Potato (her real name is Mr. Potato Head Princess Tater, Leia, though I'll pretend I didn't see that. |
[ 07:27 AM on April 24, 2009 ]
[ 08:13 AM on April 23, 2009 ]
Yeah, I don't have a lot of contacts!
[ 08:02 AM on April 22, 2009 ]
[ 06:34 AM on April 22, 2009 ]
make_frames links.txt jeffpalm.com/spudtrooper > make_frames_eg.html
I also find myself writing that
real_main wrapper quite a
bit, so new_main takes output files as
arguments (such as make_frames and creates files with
the real_main boilerplate code with classes, such
as MakeFrames.
[ 08:29 AM on April 20, 2009 ]
[ 03:26 PM on April 19, 2009 ]
Not quite sure why his belly is pink?
[ 06:30 AM on April 17, 2009 ]
[ 07:22 PM on April 16, 2009 ]
[ 03:49 PM on April 16, 2009 ]
gives free wifi for a couple hours at a time for a month if you use a starbucks gift card; but what if you use the card to buy another card. Granted, it's close to the ultimate show of cheapness, but wouldn't that give you basically unlimited free wifi there without buying their overpriced coffee? Of course, with the exception of the initial $5 or $10 to buy the first card. Better yet, I could set up a little business inside the coffee shops undercutting their normal prices -- I doubt they would really dig that?
[ 06:57 AM on April 16, 2009 ]
to this.
I even included images.
[ 07:39 AM on April 14, 2009 ]
-
Select all
→
-
Select none
→
-
Toggle all
→
[ 08:59 AM on April 11, 2009 ]
- scores
- # comments
- # entries
This group shows the normal posts -- i.e. from the root of the site.
The top group is obviously very biased, so is the second, and that's the main problem. But, you do see a little spike before around lunch time, so maybe there's something here. Probably not. Made with these. This was a f'ing waste of time.
[ 03:32 PM on April 09, 2009 ]
[ 02:12 PM on April 09, 2009 ]
[ 08:05 AM on April 08, 2009 ]
The comments appare to be, too
The time seems to be NOT!
Here is what I used to make it. Time for a little run.
[ 07:22 AM on April 08, 2009 ]
[ 11:58 PM on April 06, 2009 ]
jeffpalm on this page, which contains this link
then the browser would search for the regular expression
.*jeffpalm.* then scroll to and highlight that link, like
[ 07:46 AM on April 06, 2009 ]
-
It was nice to write a little
just now. The reasons were a little drab
(well, very drab), but the act was nice.
- I finally signed up for Skype (yeah, I'm slow), and someone had spudtrooper taken. The nerve.
- Either my crapbook or Firefox is screwed up so I have to do all downloads in Safari; and I really wish it wouldn't try to spellcheck email addresses. It's really obnoxious -- and seriously -- how many are going to be valid English words?
[ 01:01 PM on April 05, 2009 ]
[ 08:14 AM on April 05, 2009 ]
[ 03:27 PM on April 04, 2009 ]
[ 10:27 PM on April 01, 2009 ]
[ 06:31 PM on March 28, 2009 ]
[ 10:47 PM on March 27, 2009 ]
[ 07:21 AM on February 27, 2009 ]
login.php to index.php correctly now.
[ 02:39 PM on February 25, 2009 ]

Hmmmm?
[ 10:19 AM on February 25, 2009 ]
input of the first form on the page -- e.g. google.com. It takes a url and a query, and will fill in the first text input of the first form with that query on that url. For example to search for penguins on google type this:
query google.com penguins
and it would take you here. There is a small 'test suite' by running
query -test
that mainly tests the url construction, because I wasn't sure if os.path.join would work on windows with something like os.path.join('google.com', '/search'), though the almightly Felix now says it will.
[ 05:34 AM on February 25, 2009 ]

But, it makes finding daily WTF's a little too easy... (the last one doesn't surprise me)
[ 08:44 AM on February 24, 2009 ]
And, I had my first iphone app accepted for the Vale girls ... nothing big, but the first one, so, oh well.
It's chilly here, but sunny, so have to get outside.
[ 08:26 AM on February 24, 2009 ]
.bashrc and .emacs files the way they do bookmarks.
[ 10:49 PM on February 23, 2009 ]
[ 06:35 AM on February 23, 2009 ]
Also here are two graphs, showing (1) how the amount of entropy (i.e.
wc -l of the diffs) changed, and (2) how the
overall size of the entry changed. In the former, the bars are the
change at one moment, and the line is the accumulated change.
[ 02:45 PM on February 22, 2009 ]
and I'm not sure whether it's Firefox or Foxmarks, but when you bookmark a page now with 3.0.6 it suggests tags...very cool. Not huge, no cancer-curing, but cool. Granted, I don't think that I've ever actuallyused bookmark tags, but, if there is a time in the future that I do, then this will come in quite handy.
Anyway, since hearing vampire weekend at the tiber tribute at Carnegie Hall, I've been digging them. Luckily, they've put a pretty cool tune, M79, online so I don't have to pay a buck to get it. I would, but don't have to.
[ 05:33 AM on February 22, 2009 ]
[ 04:35 AM on February 22, 2009 ]
#!/bin/sh
#
# Find all the classes with main methods for a
# given directory. If no directory is given, '.'
# is assumed. e.g.
#
# % find_mains
# % find_mains .
# % find_mains com/jeffpalm
#
# Get the base dir, if we've specified one
dir=$1
shift
if [ x$dir = 'x' ]; then
dir="."
fi
# Remove leading and trailing crap
dir=`echo $dir | sed 's/\.\///g'`
dir=`echo $dir | sed 's/\/$//g'`
# Find all the classes with main methods in all
# the recursively nested class files
all=`find $dir -name "*.class" | grep -v '.*\$.*' | \
sed 's/.class//g' | sed 's/\//\./g' | xargs`
for f in $all; do
n=`javap $f | grep -c \
"public static void main(java.lang.String\[\])"`;
if [ $n = '1' ]; then
echo $f
fi
done
At least for the last five minutes it was useful to me.
[ 10:07 AM on February 19, 2009 ]
[ 06:48 AM on February 19, 2009 ]
Ruby
Perl
PHP
SH
1If you discard
require and use.
[ 06:15 AM on February 19, 2009 ]
[ 03:39 PM on February 18, 2009 ]
[ 09:50 AM on February 17, 2009 ]
teleport lets you use a single mouse and keyboard to control several Macs.As I told Anthony, it rubs my ______ just the right way. I'll keep this clean.
Simply reach an edge of your screen, and your mouse teleports to your nearby Mac, which also becomes controlled by your keyboard. The pasteboard can be synchronized, and you can even drag & drop files between your Macs.
[ 07:45 AM on February 17, 2009 ]
finally supports Thunderbird, again, in the latest release code named Chuck. It also fixes the map extensions for a few countries, but the Thunderbird fix is the main one. If you're wondering why the name, this is why[ 05:37 PM on February 16, 2009 ]
[ 05:56 AM on February 16, 2009 ]
[ 11:37 PM on February 15, 2009 ]

[ 05:16 PM on February 15, 2009 ]



[ 06:48 AM on February 15, 2009 ]
[ 08:11 AM on February 14, 2009 ]
[ 10:32 AM on February 13, 2009 ]
install.rdf has been modified, that's all. You can also get it at the official Mozilla page. I've hit an absolute blank in trying to add anything else, and I'm not in bug fixing mode (as I've obviously not been in since about June of last year, when the last bug was fixed). So, if you have any ideas, mail me.
[ 06:46 AM on February 13, 2009 ]
This will save you a whole mouse click and aims to cut down on the senseless carpal tunnel syndrome and RSI cases that are crippling America and the rest of the world.
[ 10:22 AM on February 12, 2009 ]
images and contact info, etc...and that led me to think about sharing even more non-traditional things, like resentments, dirty thoughts, meatloaf recipes, etc. These could easily be shared by strapping on some type of head apparatus that would go through the USB port onto gnutella. Then the end user would download these thoughts or ideas or recipes directly to their head using a similar piece of head gear coming out of their USB port. Of course, down the road we'd want to support fire wire, also, but it would just be plain silly to be thinking about that now.
[ 07:29 AM on February 12, 2009 ]
[ 08:41 AM on February 11, 2009 ]
MAX : 899.99 MIN : 0.99 MEAN : 10.56 MODE : 0.99 STDEV : 61.29 NUM : 289 0.99 (103) : **************************************************** 1.99 ( 45) : *********************** 2.99 ( 29) : *************** 3.99 ( 18) : ********** 4.99 ( 32) : ***************** 5.99 ( 8) : ***** 6.99 ( 3) : ** 7.99 ( 3) : ** 8.99 ( 3) : ** 9.99 ( 21) : *********** 11.99 ( 2) : ** 12.99 ( 1) : * 14.99 ( 6) : **** 15.99 ( 1) : * 24.99 ( 1) : * 29.99 ( 4) : *** 49.99 ( 1) : * 59.99 ( 2) : ** 64.99 ( 1) : * 69.99 ( 1) : * 99.99 ( 1) : * 119.99 ( 1) : * 499.99 ( 1) : * 899.99 ( 1) : *As expected, most are $0.99, though there is a little spike at about 10 bucks.
[ 03:56 PM on February 10, 2009 ]
[ 10:28 AM on February 10, 2009 ]
89-149-202-28.internetserviceteam.com (not me)...
10/Feb/2009:04:21:07 -0800 : / 10/Feb/2009:04:21:08 -0800 : /blog/ 10/Feb/2009:04:21:09 -0800 : /wp-login.php 10/Feb/2009:04:21:11 -0800 : /blog/ 10/Feb/2009:04:21:11 -0800 : /blog/wp-login.php 10/Feb/2009:04:21:12 -0800 : /blog/archives/ 10/Feb/2009:04:21:12 -0800 : /blog/archives/wp-login.php 10/Feb/2009:04:21:13 -0800 : /blog/archives/001755.html/ 10/Feb/2009:04:21:13 -0800 : /blog/archives/001755.html/wp-login.phpHint: I use Movable Type.
[ 07:51 AM on February 10, 2009 ]
Though, if I drink anymore coffee there is a good chance I'll wet my pants over that.
[ 01:09 AM on February 10, 2009 ]
Before a friend list could look something like this.
Then after clicking the bookmarklet on the friend list page, you end up on the last page of this person's friends, and you'll see all this person's friends with public profiles at the end of the list. I've anonymized the names, but note the names are links.
Yeah, this is sort of stawkerish, but fun to write. I'm sure I'll never use it.
[ 11:42 AM on February 09, 2009 ]

Java

Scheme

Objective C

Python

Ruby
[ 08:20 PM on February 08, 2009 ]
[ 12:13 AM on February 07, 2009 ]
|
This is my first cereal made
at meandgoji.com (i.e. me &
goji), and it contains samurai wheat, spelt flakes,
cranberries, lots of soy, and strawberries. I probably won't
try it, as I'm perfectly happy eating Puffins, but it looks
interesting. I ran across this because I was thinking for some reason
that there's a need for a site like this; then, da da, there is one.
But what it lacks is a feature for people to share ther cereals with
other users, and include them in search results. For example, "a
certain amount of protein", "at most this most sodium", etc.
Maybe that will come later, I'm not sure how long this site has been
around? Either way, it's promising, I definitely support creating
food online; it's even better when you can make a custom box --
perhaps in the future?
|
|
[ 07:20 AM on February 06, 2009 ]
Usage: gonvert <amount> <from-units> <to-units> where the following values hold amount the number amount from which to convert from-units the units from which to convert to-units the units to which to convert example: gonvert 10 gallons litersExample:
r3potatoo:ruby jeff$ ./gonvert 12.23 liters cups 51.6931872
[ 05:32 AM on February 06, 2009 ]
[ 07:49 AM on February 05, 2009 ]
[ 07:31 AM on February 04, 2009 ]
[ 12:38 AM on February 04, 2009 ]
[ 07:26 AM on February 03, 2009 ]

[ 10:50 AM on February 02, 2009 ]
I get shit from mac people for the convoluted shortcuts in heavenly emacs, now I'm giving shit to mac people on behalf of all emacs people for the horrid symbols used for their shortcuts. What are these hieroglyphics? Beyond that are the keyboard shortcuts, which are just as bad if not worse than emacs. OK, opening new windows in emacs, CTRL-X-5-2, is sort of bad; but it's no worse than taking a screen shot of a single window on a mac (and I'll use the English, not the ancient Egyptian version), Command-Shift-4-Space and then find the window. I'm not criticizing, just saying those in glass houses in Cupertino...
[ 01:29 AM on February 02, 2009 ]
We're going to talk about happy things. Like how the new IPhone SDK is 4.9 GB. WTF is in there? Or a friend's cattle cam. Look at those cows. Mooooooooooo. Lastly, I'll mention the latest (I think) member of the potato family. I speak, of course, of Luke FryWalker. But looking again, that may not be the latest one. There are too many of em now. There was a time when it was Darth Tater and only Darth Tater, now there is Spudtrooper (which, of course, if OK), but all the baseball ones and basketball ones...And the fact that all of the non-sport, non-holiday potatoes have to do with Star Wars, I think, gives people the wrong idea. I don't like Star Wars; I like Mr Potato Heads. The distinction may be fine, but it's important.
man taking a shit under a Clean up after you dog sign. To
his defense, I've yet to see a Clean up after yourself
sign in all of Manhattan -- or any of the other four buros, for that
matter.



