'Geek' Archive

VI Love

June 13th, 2008

I’m embarrased to say I didn’t know about shift-k in vi and stumbled upon it with a caps-lock incident. Yes, I am admitting this in public. I didn’t say I was good at this computer crap.

Now I don’t know how I survived without it. Not only will it hook you directly into man pages, it takes file context into place. So shift-k with my cursor over “range” in a python file takes you directly to…

“Help on built-in function range in module __builtin__:

range(…)
range([start,] stop[, step]) -> list of integers………….”

To get the python docs working, you’ll need python-doc installed “sudo apt-get install python-doc” and you’ll need something like this in your .bashrc or related file…

# PYTHONDOCS
PYTHONDOCS=”/usr/share/doc/python2.5/html/”
export PYTHONDOCS

Now can someone comment and tell me how I can wire django docs into this as well??

*args and **kwargs

May 29th, 2008

A lovely simple explanation, with examples, of how to use variable length arguments in python. Of course there’s always the ugly version as well.

Task Software

May 26th, 2008

I’ve been using Mark Hurst‘s gootodo for over a year now and I can’t imagine work life without it.

I’m not sure if Mark’s a fan of GTD but the app certainly supports it if that interests you. I think it’s keys are the ubiquitous smtp interface and it’s calculated simplicity. It’s a simple, some may say oogly, application that works.

The quick story. It’s a web-based task application with an smtp interface. That allows me to send an email to today@gootodo.com with subject “eat a good lunch from McDonalds”. Or tomorrow@gootodo.com “eat a better dinner from Harvey’s”. This allows me to easily push tasks onto my task list from any email client including my blackberry. As well I can easily forward emails, pictures taken on blackberry, links, and other digital artifacts. It nicely supports the concept of 43 folders as well as an empty inbox.

Some quick examples of how I use it….

  • Receive an email, no time to reply, must respond at some point…..Forward email to 2d@gootodo.com with subject “reply to jojo’s email”.
  • See a cool shelf I’d like to build…..Take a picture with blackberry and forward in email to tomorrow@gootodo.com with subject “print shelf picture”
  • Browse a site about an interesting conference with registration closing in April….Email site link to march15@gootodo.com with subject “decide about conference”

Oh, did I mention it’s a whooping $3 per month.

DemoCampGuelph6

May 6th, 2008

DemoCampGuelph6 is booked for Wednesday July 9th. Please talk the event up and sign up to attend here. As always, we need interesting demo’s, if you know anyone interested please have them contact me here asap.

With this being #6 I’m seriously concerned about my health. I hope NOT to follow in David’s footsteps. Health-wise that is, fashion wise I’m always scampering along after David.

flock…2 years later

April 22nd, 2008

I installed flock today. This isn’t my first time installing flock. In fact it may be my third, fourth, or fifth time. While flock has come a long way, I can’t help but think that articles like this one written last week remind me a lot of one a tiny one I wrote over 2 years ago.

What’s my point? No clue, maybe just gratuitous links to old posts of mine? Or maybe something about how disruptive technology isn’t about taking over an industry as much as challenging and building community. Flock’s better because firefox’s better because IE’s better because flock’s better….

Hide your feedback loops

April 17th, 2008

Neil posted today about restaurants and the challenge they have getting real feedback, assuming they’re one of the rare few who actually want feedback. The way we’ve been tackling feedback in BrainPark is to try and hide it from our users. Hide sounds a tad malicious but all that I mean is make feedback part of the application instead of soliciting feedback from users with forms and other garbage.

A somewhat trivial example, let’s say you’re building a code search tool for your intranet. You want to know when you’re search algorithm sucks and when it works so that you can improve it based on hard facts. What do you do? Add a “Did these search results help you?” form right? Ewww!

Build the feedback into your application. In this case, add an X beside each search result that allows the user to make that result go away. For the user, they can refine and shape the results to give them more value and reduce the noise. For you, you can now create reports that show your team precise examples, with real data, of where your search is failing.

If you could somehow add a similar feature that allowed the user to say ‘I should have saw this in my search results’ then you’re in even better shape. Now all your design/dev team has to continually reduce the amount your users have to ‘fix’ their search results.

More Solr MultiCore

April 15th, 2008

The MultipleIndexes wiki page may, or may not, contribute to the previous post…

“There are various strategies to take when you want to manage multiple “indexes” in a Single Servlet Container”

Solr Searching

April 15th, 2008

search.jpgAfter previous experiences with lucene.net, which weren’t all bad, I’m enjoying experimenting with Solr.

“Solr is an open source enterprise search server based on the Lucene Java search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication, and a web administration interface.”

It was very simple to get an instance running locally with jetty and I had a test python client connected and searching using simplejson within minutes.

Here’s my question. I’m curious how applications are using MultiCore on Solr and what limits they’ve been able to take it to.

Let’s say you’re building an application like SalesForce where you have a lot of clients who technically have no need to search across each other. As well, each client may have multiple indices, let’s say 3 for the sake of having a number. Do you?

  1. Use MultiCore to dynamically generate unique indices for each new client resulting in creating and managing 3*(number of clients) indices.
  2. Create 3 potentially massive indices which will clearly impact search performance.

Assuming Solr and MultiCore can handle #1 then it seems the clear winner to me. Anyone??

DemoCampGuelph5

April 9th, 2008

Your very very last reminder about tonight’s DemoCampGuelph5. It’ll be a fun night as always, say hi if you make it out.

MontrealPython

April 3rd, 2008

I’m planning on attending next week’s MontrealPython2 event. If you have any other suggestions on what I should get myself into while in Montreal, please let me know.