Thoughts, experiments, and opinions of a software developer... chronicling my journey in technology.
Sunday, August 19, 2012
What Works on the Web
It's ironic that in the height of the dotcom era, if you had a business plan with a monetization strategy of selling ads, you were often quickly dismissed. Witness the latter day success of Google and Facebook. I bought a Google beanbag, before they invented Ad Words, because I so desperately needed their product. Monetization is emergent from network effects.
Back when collegiate Internet stalking (aka The Facebook) was first blowing up, I started thinking about the Internet resources I found indispensable in my brief college career. In the mid-90s, before Napster/Limewire/Kazaa/torrents, if you wanted free music downloads, you fired up an IRC client, joined #mp3 or #mp3central on Freenode or EFNet, and the friendly bots there would DCC you a list of the mp3 files their owner's had made available. With patience you could find just about anything you'd want to play at a party.
While I was partying, my roommates were studying and doing homework. Some of the grad student TAs had setup class websites with Java applet chat rooms. Other studious individuals would share their answers--and more importantly--how they came to those answers. These chat rooms were busiest the night before homework was due.
You see, the Internet has always been social. Anyone wanting to get anything done has always needed other people: tutor, muse, compatriot, nemesis, partner, friend. At the core of every human interaction is a give and take, a transaction of time or attention prosaically, but in a more important sense, a transaction of an intangible but indelible part of our selves--the currency that makes us human: ego-boo, whuffie, brownie points, karma, influence, power, etc.
If you want to start a company that exists primarily on the web, you'll be engaged in a kind of arbitrage of this human currency. You must understand your particular arbitrage strategy and be able to articulate it. This allows you to focus on those features of your service(s) that provide the best leverage and/or growth.
What works on the web? Making people useful to each other.
Sunday, July 29, 2012
Can Github Save Your Life?
Evidence based medicine is the conscientious, explicit, and judicious use of current best evidence in making decisions about the care of individual patients. The practice of evidence based medicine means integrating individual clinical expertise with the best available external clinical evidence from systematic research. Evidence-based Medicine[...]
Thursday, June 14, 2012
Learning French in a Hurry: Some iPhone Hacks to Try
My best friend and I—that is, my wife and I—are headed to Paris this Fall. Unfortunately, no parlez français. There's this awful rumor (okay, myriad anecdotes) going around that the French are a bit jingoistic, or, perhaps more fairly, intolerant of those who don't bother to learn any French at all before visiting the country, particularly of those Americans who simply expect everyone to speak English in pursuit of the (no-longer-almighty) American Dollar.
Think what you will of this attitude or the veracity of it's justification; it's their country. When in Paris...
So what is the busy American with about three months to learn French for a trip to Paris to do? First, and above all else, know that only a genius with can learn a language this quickly, so suck it up, be humble when you go, and do your best. Here are some hacks that we are trying out.
- Change your iPhone language
- You are surely extremely familiar with navigating your iPhone. Plus, the icons make it incredibly easy to find the app your looking for, despite it's caption. Changing the language your iPhone uses exposes you to French words and phrases as often as you check your phone. Since you already know what most of their counterparts are when the phone is using English, you'll surely pick up some new vocabulary and keep it. Immersion is the key to quick language acquisition.
- Enable VoiceOver on your iPhone
- Reading words is one thing, but it's hardly sufficient. You need to hear and speak them to improve retention and to make practical use of them. This is where the accessibility features of the iPhone come into play. Turn on VoiceOver to have all of the menu items, titles, button, etc. spoken by a clear French accent. Adjust the slider controlling how quickly the words are spoken to a rate your comfortable with interpreting—probably a slow as possible. Finally (and this is important), make sure you set the Triple-click Home feature to toggle VoiceOver. This is the most convenient way to silence the new Frenchman in your phone, but with VoiceOver on it is nearly impossible to do any texting.
- Text message to your language buddy exclusively in French
- My wife and I are using Google Translate in concert with iMessage for all of our text messaging. Here's the pattern:
- Type your English in Google Translate
- Listen to Google's French translation
- Important! Manually type the translation into iMessage. You could copy/paste if you are in a huge hurry, but this is where you will practice writing and recall of spelling.
- Copy/paste your interlocutor's response into Google Translate and get the English translation. Yes, do this first; you need to know what the words mean before hearing or writing them.
- Back in iMessage now, use Triple-click Home to enable VoiceOver. Select the response you just translated to English and listen to it a couple of times, repeating it time. Turn VoiceOver off before repeating these steps.
- News in Slow French
- This podcast is available for free in iTunes. As a beginner you won't understand much, but it is delivered in a way that is both entertaining and accessible with a didactic slant that sometimes makes it seem a little silly. Remember, immersion is key.
- Create a French Radio Station for the Pandora app
- We've had decent luck with Carla Bruni (thanks to this Yahoo! answer). The real trick is to cull all of the non-French songs that come up using the thumbs-down button. Give it some time and you should get a pretty good stream of French language music.
-
- Put Google Translate on your Home Screen
- This one almost goes without saying, but the Add to Home Screen feature of Safari is under-utilized in my opinion. Quick access to a standalone view of the Google Translate web app will save you a lot of time and frustration in employing these hacks.
- Jibbigo
Don't expect miracles here, but when all else fails this app could save you. Jibbigo interprets speech and translates bi-directionally! This means you can speak in English and hear a French translation, and vice versa. The important distinction between this app and Google Translate is that it works offline.
There are two major drawbacks to this app that demand comment. First, it is really, really slow. Painfully. I'm using the iPhone 4, not the faster 4S, but I suspect it will still be awkward to use this in conversation, so don't rely on it. Second, the French speech-to-text function seems unreliable. As I don't speak French, I played Google Translate audio to the phone and got pretty bad results. Not bad for a universal translator, just imperfect enough to frustrate conversation. There is an option to type the words you want translated, so a patient interlocutor can succeed.
Besides an emergency translation, this app is useful in learning French when Google Translate is unavailable for any reason.
- Pimsleur on your commute and in the gym
- Get the Pimsleur French audio lessons into your iTunes and listen to them on your commute and at the gym. You really need to repeat these lessons, so I suggest doing a new lesson at the gym, or your commute home, whichever is first. Then listen to that same lesson on your morning commute. The sleep between these two periods will help things stick. If you are not sure about your commitment level, buy French, Conversational: Learn to Speak and Understand French with Pimsleur Language Programs (Pimsleur Instant Conversation). Otherwise, get French I, Comprehensive: Learn to Speak and Understand French with Pimsleur Language Programs, since there is a big overlap between the two products.
Those are the hacks we've come up with so far. Do you have a language learning hack for the iPhone?
Tuesday, June 5, 2012
Web Performance: Measure the Right Thing
Tuesday, April 17, 2012
Using Ruby to Download Files in Parallel
gem install hpricot
gem install parallel
Wednesday, February 15, 2012
Testing Multiple Versions of IE on any Platform
Sunday, January 29, 2012
Evernote Watched Folder on Mac Snow Leopard
Maybe you're a PC going Mac, or just a Mac looking to save a few clicks, but in either case you could reasonably expect this PC-only feature of Evernote to be available on Snow Leopard: watched folders. Basically, this ensures that most documents put into a particular folder find their way into a new note in Evernote. This is useful is you want to save PDFs, for example, that are not clipped in the way standard HTML pages are when using the Evernote Web Clipper plug-in for your favorite browser.
To add this feature to Evernote, we can use it's AppleScript interface through a Folder Action we will create in Automator.
- Start Automator
- Create a new Folder Action
- Select the folder you want
- Add a Run AppleScript task to the workflow
- Add the following code to the task:
on run {input}
tell application "Evernote"
repeat with x in input
try
create note from file x notebook "Auto Import"
on error error_message number error_number
display alert "Send to Evernote Failed" message "Error: " & error_message & " " & "Error Number: " & error_number as warning
end try
end repeat
end tell
end run
- Save it (File->Save a version)
- Navigate to the folder in finder and ensure that there is a folder action assigned
- Add a Notebook to Evernote called "Auto Import"; this step is optional, but you must remove the 'notebook "Auto Import"' from the code. If you do remove it, the note will be added to your default notebook.
- Save files to the folder