Quantcast

QuickSilver Now Open Source

QuickSilver is now open source! Check it out on Google Code..

“The System” … 2007



After 9 months of putting it off, I’m creating new folders and filing everything I have in my “To Be Filed” inbox …. I don’t know what happened but … 9 months … geez.

Here’s a little tip when real life presents a bulk-insert task like this … when you’re trying to find something it really helps to have the papers sorted chronologically. On the other hand you know that you will probably never look at these statements and receipts again … this is a good case for using Lazy Evaluation. I just dump everything in the proper category (e.g. Bank Statements, 2007) and then don’t order them chronologically until I actually have to find something like a specific charge on an old credit card statement.

Link to some interesting GTD stuff

Neck Stretches for a Happy Life




Hola, hello from Peru!! Some people think I came here to see Machu Picchu but no, I came here to blog.

UCSF Physical Therapy offers an ingenious program where they engage their ergonomics staff in some very helpful side jobs. At Bakar Gym just past the weight area they have a fully decked out physical therapy room complete with funny looking exercise machines. Weird straps make the machines look like torture devices. Anyway, stop by from 5-7pm for a free consultation. After the consult I signed up for four one hour sessions at the ridiculously low price of $140 (total). Given my experience with wrist, knee and now cervical (uh … neck) pain, I was easily willing to pay five times that amount. Stefanie, the physical therpist, has 30 years experience in physical therapy.

This service from UCSF is more or less perfect for me: I need someone with some occupational experience that can tell me what I’m doing wrong and what exercises I can do to fix my problems. I’ve got a set of six neck stretches that are helping my undo 10+ years of bad posture.

  • turn head to the left as far as you can, hold for 30 seconds. Repeat towards right. Repeat 3x, both sides.
  • lean head left, ear towards shoulder. Repeat towards right. Repeat 3x, both sides.
  • This is harder to explain, but a great stretch. Lean head forward, while forward lean head left 50%, now while holding all that rotate head left 50%. My PT describes this as “putting your beak beneath your wing like a bird” … repeat on RHS, repeat 3x.
  • Anterior Scalene: lean ear towards shoulder, now rotate your head so you are looking at the ceiling. Repeat RHS, repeat 3x
  • Posterior Scalene: lean ear towards shoulder, now rotate head so you are looking at the floor. Repeat RHS, repeat 3x.

So doing all of that is going to take about 15 minutes. But if looking over your shoulder has gotten annoyingly painful, it’s totally worth it.

I also received some useful suggestions for wrist stretches and strengthing muscles around my knee to keep the patella up off of the knee joint area. Yay for UCSF!!

Link to UCSF Physical Therapy

Personal Maps

They say a picture is worth a thousand words … it’s closer to a million for this map I made illustrating where my college friends live:






I’ve known forever that I’m somewhat bicoastal, but I’ve been lazy about flying and I hate airports. But looking at this map a few times reveals the undeniable truth: I’m bicoastal forever and there is no way for me to be happy without traveling a lot. In terms of center-of-social-gravity, it looks like NYC is the place to be. Luck you New York friends! That’s where we’re gonna party ….

Link to Friends map on google maps

Simple Timer for OS X

Jess needed a simple timer that would beep after 10 minutes, and asked if one shipped with OS X. Sadly, there isn’t one, and my first thought was to search VersionTracker for a timer. But I was feeling lazy and didn’t want to have to test 50 different crappy timers written in RealBasic and another fifty MyFirstCocoaApp projects. Also, I was feeling too cheap to shell out $50 for EnterpriseTimer.jar.

My next thought was to just echo ^G (the beep character) in Terminal after sleeping for 10 minutes, but how was I going to explain to Jess that you have to type ‘echo control-v control-g’ to put the beep character on the command line? So on a lark I tried typing ’say beep’ on the command line and it worked.

So here is your absolutely free 10 minute timer for OS X. Launch Terminal, which is the Utilities Folder inside your Applications folder, and copy/paste this line into the command line:

sleep 600; say beep

Hit return to start the timer. When it’s done, you can start another one by hitting the up-arrow and then hitting return. 600 is the number of seconds to sleep, and you can change this to be larger or smaller.

From across the living room I occasionally hear Jess’ mac saying ‘beep’ in the Vicki voice. It’s very cute :)

Words to live by…

Bob, Shag, and I made this SkyMaul-inspired remix of this Attribution2.0-licensed image: http://www.flickr.com/photos/nantaskart/61707032/

fmfu

Hang it in your office!

The ECONO BIN EB-200 !!!

I’ve always been looking for some way to store, display, see and manage my maps so they were stored out of the way but not hard to get to. And no folding. I hate folding. This has been for years and last week I threw up my hands and just decided to order the first thing I found on the internet.

I had to back down off of that because the first thing I found costs $1249. It was then that I began to understand that this might get a little pricey. Even finding poster display hardware was a pain. Google search “poster display” and let me tell you … you’re not going to find anything that helps you display your posters.

So I opted for the EB-200 “Econobin” at a mere $200. I know as soon as I post this someone is probably going to tell me I can get the same thing at IKEA for $79.99, but whatever …. I like the industrial look. And this thing is built to last, it’s going to be the only thing left in my apartment after The Big One

Host unlimited photos at slide.com for FREE!


The ECONO BIN arrived wrapped in so much packaging I had to play like a field medic and cut it all off. It’s made up of decent square and round powder coated steel tubes.

Host unlimited photos at slide.com for FREE!


Here is The BIN assembled with the copious packaging in the foreground. I bet the UPS guy was glad I came downstairs to meet him and drag these boxes up myself.

Host unlimited photos at slide.com for FREE!

And here are some extremely organized maps. Shown here are the SFBC Bicycle Map, The NYC Subway Centennial Map of 2004, and the AAA Baja California Travel Map.

Host unlimited photos at slide.com for FREE!



Naturally I was kind of smoking crack when I bought this thing. It’s way too big, awkwardly shaped and doesn’t fit anywhere. But I like it and I’ll get to see my maps a lot more now. And I have a map bin in my house !!

Price Hacking




via Money Magazine, you can decode the pricing status of items at some retailers.

  • At Target, prices ending in “8″ means the item is on its markdown cycle. Prices ending in “4″ are as low as they will go.
  • At Gap and Radio Shack, prices ending in “7″ mean clearance price.
  • At at “office superstore” an employee says to wait until the price ends in “.04,” which is the lowest price.
  • You can learn more about price hacking at consumerist.com

Alas, Amazon.com doesn’t have everything. Until they do we have to deal with these crappy retailers.

Link to Consumerist.com

Zojirushi Electric Dispensing Pot

zojirushi.jpg

Peliom’s last post on a tea-making-robot reminded me that I need to write about this electric-hot-water-making-thingy that I got a couple months ago and absolutely LOVE. You’ll find one in almost every household in Japan, China, and most other asian countries. I used to wonder why …i mean, how hard is it to make hot water, right? Compared to a cuisineart or an espresso machine, it’s not particularly glamorous or impressive sounding. But there is something incredibly gratifying about pushing a button and getting hot water instantly. especially since I drink a lot of tea (about 6-8 cups a day!) I also use it to make hot chocolate, oatmeal, basically anything that needs hot water.

Anyways, these things are still hard to find in U.S. stores. I went to a place called Kamei Restaurant Supply on Clement street to find one - it’s $100 there, so if you live in SF, you can get one for less than you’d pay on Amazon…there are also less expensive models but this one is supposedly best and I’ve been really happy with it so far.

We can use this technology to make the world a better place … robotic bar!!




Link to Robot Makes Tea on CNN

Don to Earth

donaldCrowdis.jpgOne of my favorite blogs lately is Don to Earth, written by Donald Crowdis who at 93, is one of the oldest bloggers around. I rarely come into contact with people who are older than 80 in my day to day life so I love reading his thoughts about things. He writes a lot about life and death. You’d think that would be morbid but he makes me laugh and I always come away feeling a little bit more grounded.

get human 500 database

getHuman.gif
Do you hate dialing customer support with some terrible pressing problem only to get strung along by endless automated voice prompts? Here’s a great database of numbers for 500 companies (give or take a few) with instructions on how to get directly to a live human when calling for support.

The gethuman project is a consumer movement to improve the quality of phone support in the US. This free website is run by volunteers and is powered by over one million consumers who demand high quality phone support from the companies that they use.

A tip that I’ve been given to get the best support from a cell phone carrier (but haven’t tried yet) is to call and request cancellation (rather than tech support). You’ll get sent to a “retention” specialist who is trained to do whatever he or she can to keep you as a customer, so your problem will get routed to the right person a lot faster.

BugMe

bugme2.gif BugMe is quite possibly the most ingenious mobile app ever. It’s simply a digital post-it-pad that lets you scrawl a note and attach an alarm to go with it. You can even record a voice note to go with each scribble.

The alarm can be set for a specific interval (i.e. in 1/2 hr, 1 hr, etc) or for a specific date and time and when your phone alarm rings, it’ll flash your scribbled note to remind you of what you need to do. I use it to remind myself to move my car for street cleaning, feed the parking meter, call people and other random things that I always forget to do. Setting a reminder is just as easy as jotting a simple note, except now, they don’t get crumpled in my pocket or lost among all the other notes on my desk.

I Wish Every Email Had a URI…

Why? Because that way I could refer to any email I have sent or received when I am writing notes into a text file.

I’ve been playing with my new Blackberry Pearl and it’s inspired a bunch of very exciting research into topics of Calendar, Task, Email, and Memo. (little joke there on the exciting part). Whenever I think about this stuff, I’m amazed that we are well into the 21st century and still these “smart” phones are about as easy to use for notes as a 3 foot pencil on a piece of sheetrock. Nevertheless, being able to email digital notes and blips around can be very handy if one is able to come up with a workflow that isn’t totally annoying.

A case in point is the bug db system Trac. This has nothing to do with smart phones except I have been using it at work to organize my work items. The good part: it’s free, doesn’t crash, doesn’t corrupt data, and has a feature-set that allows for tracking tasks (in my case, I’m not really using it for software bugs at all). The Bad? It takes an ungodly number of mouse clicks and/or keyboard entry to create a new task and/or file an existing task.

Imagine I grab a sheet of paper and a pen and I write “buy bananas” on it. If I’m set up right that’s going to take 2 moderate hand movements and then some minor hand movements to write the text. And boom, I’ve got a piece of technology that will help me remember to buy bananas.

Consider the requirements to achieve the same result in Trac. I need to find and click the image button labeled “New Ticket” (this may require scrolling to the top of the page I am currently on). I need type “buy bananas” as the title. Trac also requires I type a description. I don’t like the defaults for the “Component”, “Assign To” and “Milestone” fields, and there is no way for me to change the default values. (I’m using Trac in a shared environment, and someone else manages those defaults). So that is several mouse clicks to set each of those fields using a pull down menu. Not all of the Trac “New Ticket” page fits on my 1024×800 pixel screen (vertically), so I have to scroll down, and click “Submit Ticket.”

Still with me? Yeah, I know, it’s a lot of operations. And that is only half the story! Now I have to generate some kind of report and print it out, because chances are Trac is not going to be with me when I am in a good position to “buy bananas.”

I’m not trying to bag on Trac, it’s a great system and I would much rather use Trac here at work than any other bug DB I’ve seen. And obviously I am trying to Trac in a problem domain that is way outside the bounds of expected usage. But I was just noticing these things as I was thinking about how to replace my Hipster PDA with a smart phone. Suffice to say the Blackberry Pearl has a bunch of neat features, but I find that using the features requires a bunch of awkward button clicks and trackball movement that I would rather not do. Unfortunately there is no easy way to configure and change the behavior of the application menus or UI elements.

Still, this Pearl thing is growing on me, the benefits will likely outweigh the annoyances for me, and I’ll post more later.

So back to this email thing. Filing these Trac issues for myself, for a lot of the tasks the “Next Action” is to email somebody and ask them for help or tell them something is ready to go. It would be very hand to paste in a reference to that email so I don’t have to dig through my old emails when coming back to the task. And it turns out I can do this … with a minor hack. First prerequisite is having Squirrelmail set up. Probably other web-based mail readers could work as well. The problem is that Squirrelmail refers to email messages using an integer whose value is relative to the other messages in the folder. So their program works, but it would be helpful and more extensible if they were pointing to the unique identifier for the email message. So here’s the other prequesite: this will only work if you use the Empty Inbox philosophy. I started doing the Empty Inbox thing last year and it changed my life (for the better). So I highly recommend it anyway.

So here you go, you are using the Empty Inbox. This means (for me anyway) that you have a non-inbox folder with all of your old mail in it. I call mine “__Archive.” Because the integer indexes that Squirrelmail uses are monitonically increasing, the URL for it will stay valid (as long as you don’t delete old email!!!!). Here is an example (fake) Squirrelmail URL for an email message. The HTTPS URL keeps the message from prying eyes, which is a bug or a feature depending on whether you want people that are not you to be able to read this particular message.

https://mail.foobar.com/src/read_body.php?mailbox=__Archive&passed_id=32311&startMessage=1

Phew … now I can paste references to email discussions into my Trac bugs and um … keep track of everything. It’s pretty ghetto though, hopefully in a year or two something more solid will crop up. Or (more likely) one of you lovely readers will leave an informative comment explaining how out of the loop I am and I should just use package BlahBlahBlah for email URLs :-)

Link to a review of the Blackberry Pearl
Link to Empty Inbox on 43 Folders

More Random Twitter Friends

Vale94 requested to be my friend on Twitter

Who would say no to this???

Vale, not only do I want to be friends with you, I want to fix your laptop.

It only takes a few minutes….




Deep wisdom from LifeHacker about the oh-so-corporate task of digitizing whiteboards….

This is a trick I picked up when I was working as a consultant. This process quickly and efficiently sends out notes from a working session to all the collaborators. The steps are:
1. Capture whiteboard notes with your cameraphone.
2. Send your images to your laptop/PC via Bluetooth (or email).
3. Use CutePDF to “print” them to a PDF file.
4. Email PDF to all collaborators.

This sounds like a lot of steps, but Dan says it only takes about 5 minutes, depending on how many images you’re distributing.

Not that I capture a lot of whiteboards, but I like my way better.

  • Step 1, buy a MacBook or a MacBook Pro
  • Step 2, Open lid of MacBook and press power button
  • Step 3, Point the MacBook’s built-in camera towards the whiteboard as you snap a picture with PhotoBooth

I know it’s a lot of steps, but you only have to do the first two once every year, and the third one only takes about 4 seconds, depending on how many images you’re distributing.

Now that Scanr thing they are talking about that converts your whiteboard pictures into PDF and then emails them back to you … that’s pretty neat.

Link to “The MacBook Family”
Link to Scanr

We Make Money, Not Friends

Over at epigone (does anybody know what the means?) kmarks opines Don’t use Wells Fargo as your bank. While can’t vouch for Wells Fargo’s suckitude being worse than, for example, the torture of CitiBank, I have a funny tech story about this.

According to an engineer I work with, a friend of his who worked at Wells Fargo came up with the following clever hack to make more money flow from you pocket into theirs. Say you have three bounced checks with values of $21, $34, and $152. Now let’s say you, for whatever reason, only have $82 in your account at the time those checks are cashed (and I believe there is a minimum 4 business days for clearing a check). Well the hack is that they cash the checks starting with the highest value first. So first they process the $152 check which takes your account to $-70. Boom, that’s a $33 penalty fee *and* your account is now negative even though you had enough money in your account to cover those smaller checks. So guess what, $99 in penalties when only $33 is mathmatically necessary.

Link to Vanguard, the only financial institution that doesn’t suck

RSS is the New Email: A Polemic in ObjC




About a month ago I was going on about trying to use a newsreader to keep up with all the RSS flying around. I tried Google News Reader, hated it. I tried about 10 other RSS readers, both web based and client software (mac)… I felt like they all missed the point.

When I’m reading RSS, I actually don’t give a monkey’s tail about the RSS. RSS is stupid, unformatted, unstyled text with no soul and even less information. The way to consume RSS coming from websites is to read it in it’s richest form: from the website itself. Some client newsreaders go a short way down this path by giving you button to open the article in your web browser. But this is totally lame. I mean, a drunk dog could open up a web browser and sit there through the World Wide Wait and sift through the blink tags and advertisements and try to read the article.

I am happy to make the first public mention of TikiRobotReader, a Mac OS X application that (eventually) will handle RSS in a way that is not totally dain bramaged. TRR is Open Source, a Cocoa application, and a work in progress.

The basic idea is that for a given Article, TRR will download the link to the article’s web representation and convert it to PDF so the articles are all nice and shiny and ready for your skimming pleasure, no waiting required. Here is what I want TRR to be:

Principles of Operation

  • Simple keyboard commands everywhere. Should be operable one-handed while eating lunch.
  • RSS is disposable content. It’s not critical like most (personal) Email.
  • Read the content as presented by the website, not some random choice of Font and Color.
  • Blog posts and status messages from friends are way more important than Yahoo/CNN headlines.
  • Streamline the reading process. No nagging feelings of “should I delete this article or save it?”
  • Download and cache web pages as PDF. Zero latency when switching articles.
    • PDF loads immediately, vs 1-5 seconds for an HTML page to render
    • PDF is a static page, no blinking and bouncing flash ads and animated GIFs
  • RSS is a source of content. Provide easy hooks for the sinks: Sharing and Research.

The current release is ugly as hell, but functional. At this point TRR is best enjoyed by running out of XCode so you can debug crashes and implement nifty features. I will be using it as my daily news reader in this fashion. But the nightly builds are functional and get the idea across. Feel free to contribute! Design ideas are helpful and code contributions are always a good thing. TikiRobotReader is meant to present RSS the way you, the discerning TikiRobot! blog reader, think is best. TRR will be a great place to implement all those Web 2.0/client features we want but can’t get anywhere else.

Link to TikiRobotReader nightly build
Link to TikiRobotReader SourceForge page

Where Are My Python, PERL, SQL, Ruby, JavaScript, CSS and DOM Flash Cards?

There are flash cards for anything from simple math to Gross Anatomy and Legal Procedure. Why not for programming languages and software platforms? One side of the card would have the name of the function, and a description of what the function does is on the other side. This bidirectional mapping models reading and writing code: when you are reading someone else’s code, you need to be able to see a function call and understand what it does. Otherwise you have to look it up. When you are writing code, you are thinking “hmmm, I need to reverse this list of lists and then get every third element of the sublists.” If you don’t know which functions will accomplish that task for you, you have to go look it up. Or even worse (much worse), you don’t know the API is available, so you end up “rolling your own.”

Platform fluency is like Thai Iced Tea: if you are fluent, you are knocking out features like a code ninja on speed … and having a great time doing it. If you’re not fluent, you are constantly flipping open books and asking stuff like “how can I make this div overlap this column by 10%?” It’s these reverse mappings that are the more difficult, which is why it’s easier to read someone else’s code than to write your own. Looking up a function call in google or a book index is straightforward. Looking up an an abstract idea of how to achieve specific functionality is not.

The only “python” flash cards I could find was this set for learning animals in Hindi.

So I’m going to have to print my own flash cards. blah. That means formatting all the documentation I want to study so that it fits on 3×5 card, buying a printer, and actually getting the thing to print. Everyone knows that printers never work. OK, well, they work like every other day.

Luckily the GTD/Hipster PDA weenies have taken the issue of printing index cards to task. The consensus of CoreNerd was on the Canon Pixma iP3000. This presents a couple of problems. First off, the 43 Folders Post is from 2005, ancient history in consumer electronics land. They don’t even make that printer anymore. Second, it’s a drippy, sticky, gooey inkjet printer.

I hate inkjet printers. I want them all to die.

The all-knowing amazon told me the Brother HL-2070N was a similar printer, and dirt cheap at $89.99. But I didn’t see index card printing listed in the specs. So I’m thinking the HP LaserJet 1320n Monochrome Network Printer is the way to go. It supposedly prints index cards, and it sounds like a pretty serious printer. Incidentally, the LaserJet 1320 is also available in “Government Edition”, with a different model number.

I don’t know how the government’s printing requirements differ from my own, but I don’t want to have anything to do with it.


Update! kmarks notes that the Terminal command pydoc -p 7777 && open localhost:7777 gives you some nifty Python API documentation (including locally installed libraries), and recommends the Python Cookbook for reverse-mapping. Good stuff!

You Need to Get This Done Right Now!


Picture 1
Over at 43 Folders today there is fantastic post about how to prioritize all the crap going on in your life without getting stressed out. This is the core of the GTD philosphy and if you don’t feel like reading the book, at least read this post. Dig on this quote ….

Let’s look at a few challenges that, over the past six months, have faced a notional Worker Bee, leading him to generate high-priority tasks.

  • You learn you got a citation from those choads in the Homeowner’s Association, and they declare that if you don’t remove that El Camino from your front yard today, they’ll start fining you $200 a day.
  • Your favorite client emailed you a freakin’ week ago, and you still haven’t responded. You fear that your relationship will be permanently damaged if you don’t respond this morning.
  • Your bank account is overdrawn and you have to make a deposit or else the late fees and penalties will go up and up and up.
  • Your sister leaves a voicemail saying that if you don’t pick up the crap you left in her garage, she’s throwing it out tomorrow. Your Boba Fett action figure and Dungeon Master’s Guide are in that garage, and you can’t bear the thought of losing them.

What to do? What to do?

Link to “Priorities Don’t Exist In a Vacuum”

I Just Got $125 in the Mail From Amazon.com

Amazon-Certificate
I got “the big letter” today from the Amazon Rewards program. Just one more reason I try to buy all my stuff from Amazon. They give 3% cash back if you use their Amazon visa to purchase something from their site, and 1% cash back on all other purchases you make on that card (yes, even at regular stores). That’s real money if you’re buying yuppie toys like a projector. Forget about “miles” … this thing is the cats meow. They pay me money to spend money … what could be better than that?

Link to the Amazon Visa Rewards program

Welcome to 2.0, part 2: Google Reader

So I recently learned (a few years too late) that the way to keep up with a 1000 pounds of RSS is to use a news reader. Actually, that’s not true .. it’s just that I didn’t enjoy using the client-based readers I tried. Server side sounds better, less intrusive than an email gateway and keep all the subscriptions in one place.

Google Reader is an improvement, but I still feel some “friction” using it. Luckily while test driving Google Reader I found an O’Reilly article about how to use AJAX to build an RSS Reader. Custom RSS readers … an essential part of modern lifehacking?

Google Reader
RSS and AJAX: A Simple News Reader.

Tiki Apps forever!


I signed up tikirobot.net for “Google Apps for Your Domain” to see what all the fuss is about. It’s pretty cool! You get mail from Gmail, calendaring from Google Calendar, and Google Talk, and Google Page Creator, if you want that. The signup process is pretty painless, given what they’re providing.

This is my third try at Google Calendar and it’s finally growing on me. A few months back, support for Safari was shaky and I couldn’t get the “Quick Add” feature to work. Now Safari works pretty well, but the only way I could a create a new calendar was to use Firefox. Also, the Quick Add defaults are not very geek friendly at this point. The only dates I ever need to remember are my sister’s birthday, my mom’s birthday, the raj+jess aniversary and … well, I guess that’s the only three I could think of at the moment. Anyway, in Quick Add speak that would be something like “raj+jess anniversary August 7 yearly”. And it does create an event with that title on that day. But the default reminder is just 30 minutes!!! That’s not much time for an anniversary! :-) So you have to go to the event and change the reminder, and confirm that yes, you want to be reminded a week ahead of time for all future instances, etc, etc. I think it ends up being more work than just adding the event normally. So being able to specify reminder stuff in Quick Add would be nice. I expect I’m not the only one that would like Google Calendar to make it look like I’m remember birthdays, so they might as well be special cased in Quick Add. It’s all about the CLI.

Anyway, you get all the Google productivity stuff but it looks like it’s coming from your domain. That’s pretty sweet for a small business or even a whole school. Let me know if you want test drive a TikiRobot Google Apps account …

Link to Google Apps.