Every self-respecting Life Hacker needs to have a post touting their own Best Practices for tackling life’s inefficiencies. Well, here are mine. I use all of these on a regular basis.
Use PayTrust as your permanent billing address and universal bill payer
- Reduces the volume of junkmail
- Increases your privacy
- Multiple funding accounts
Use Evernote for everything
- I have no more physical files; I’ve scanned every document going back to ’97
- Access insurance binders, medical records, eBooks, etc from one application
- Use as primary bookmarking log; keeps original snapshot of the page that you can search (like your own Google)
- To share screenshots with people over IM
- Save serial numbers & digital copies of software
- Print to Evernote to save all electronic confirmations
Use 1Password for keeping your passwords secure
- Keeps your “Key Chain” in sync with all other devices
- Autocompletes Credit Cards, Forms, Addresses, etc
- Works on iOS, OSX, Windows and in all standard browsers
Use CardMunch for importing all business cards
- Uses Mechanical Turk for crowd sourced data-entry; beats OCR any day
- Integrates with LinkedIn
Use LinkedIn for managing all professional contacts
- Living Resume complete with recommendations
- Professional forum for interaction
- Use Resume Builder to export your resume in a professional format
Use Mint.com to get an overview of all finances
- Supports every financial institution I use
- If your financial institution is not supported, you should consider moving your money else where
Use ConnectedHQ.com as your personal CRM
- Set reminders for when to follow up with people
- Overview of what your contacts are doing on all connected social networks
Use an IronKey to protect your utmost sensitive data
- Tamper-proof, hardware encrypted USB stick
- Self-destructs if too many unlock failures
Use Amazon Prime
- Buy anything that’s out of your way from Amazon; e.g. Trader Joe’s doesn’t carry shaving cream, salon products, etc.
Use the Jing Screen Recorder
- To communicate bugs to tech support; spend less time describing the problem by just illustrating it
Use iCloud (Formerly MobileMe) for device synchronization and discovery
- If your an Apple fan-boy as myself, then just sticking with *Mac makes everything so much smoother
- Google Sync + iCloud sync does NOT work; constant contact duplication and problems with UTF8 names
- Find lost iPhones and Macs
- Remote wipe stolen or lost devices
- Over-the-air backups of iOS devices (including Photos!)
Use Automator on the Mac with shortcuts to scan to Evernote
- I use Command+E to automatically scan whatever is in my HP-e710 directly into Evernote
- Eliminates the frequent run-around going to the MFP
Use One Medical for doctors visits
- Same day appointments
- Direct access to your doctor via email
Use Google Voice
- One permanent number that rings any device when and how you want it to
- Spam caller detection + Call blocking (“Sorry, the number you have dialed is no longer in service”)
- Voice mail transcription means you receive voicemails as emails
- Free SMS
Use Sipgate.com for your own SIP phone
- This allows me to bring my phone with me when I travel (works overseas!)
- Allows me to have my landline both at my house via a cordless handset and on my laptop
- Cheap calling rates and no monthly usage fees
Use Facebook Messenger on the iPhone
- Easy way to get ahold of my friends for free.
- No more of that “What Apps”, BlackBerry Messenger BS.
Use Google Apps for all your private domains
- Hosting your own SMTP/IMAP server is so passe
- I’ve had 100% uptime for the past 5-6 years
- No service has better spam detection
Use DropBox
- To keep your Desktop in sync with all your devices
- To remotely start torrents
- To sync and backup your encrypted 1Password Agile KeyChain
Use Airport Extreme
- To wirelessly backup all your devices without you having to remember to do anything
- Act as your home router
Use GPG Tools for the Mac
- To cryptographically sign all your outgoing mail
- To encrypt/decrypt mail
- To keep a manage your GPG Key Chain
Use FreshBooks for invoicing
- Simpler to use than QuickBooks if you can get away with it
- Automatically send invoices on a schedule via snail mail or email
Use an Accountant to handle all your taxes
- I can’t keep up with the tax codes and special deductions available
- Just hand them the keys to Mint.com
- Especially handy when receiving numerous 1099s
- A resource you can ask questions as they come up
Use Ubercab for getting around San Francisco
- All you need is your phone; no cash or credit cards; tip included in fare
- Arrives FAST
- Courteous, professional drivers
Use 3-Bureau Credit Monitoring
- Because if your life is now hosted in SaaS, you’re vulnerable to identify theft; it’s just a matter of time
- For the piece of mind
Use TripIt.com to keep track of all your travel itineraries
- Most useful for complex travel plans involving multiple legs
- Handy iPhone app so you can view all flights from a single application
Use PagerDuty.com for on call alert notifications
- Calls you when your stuff is down; SMS is so 90s
- Supports on-call calendars so you don’t have to manage it yourself
- Import on-call calendars straight into iCal
- Use Gruml to connect with Google Reader on OSX for the native app experience
- Use MobileRSS to connect to Google Reader from iOS
- Keeps your reading activity in sync with all your devices
- Makes searching fast
- Email a PDF to their service and they fax it for you
- No monthly usage fees
- Pay per page
- Email a Word Doc and they stamp and send it for you
- No monthly usage fees
- Pay per page
Please share the tips and tricks you use! I’d love to hear them.
Dust.js: Client-Side Templating
On Hacker News today there was a mention of how LinkedIn is using the Dust.js templating system. Dust.js is doing what XSLT always promised to do but never delivered on.
In the post, they make a pretty compelling argument for why to use client-side templating. Their problems are all similar to the ones I’ve seen countless times — anywhere a services based architecture is employed like at TV.com.
At LinkedIn they have a services based architecture with applications written in a slew of frameworks across multiple languages. Because of this, it’s hard to re-use visual components. Requiring that all components be written in the same language reduces productivity of developers and hinders their ability to rapidly prototype new features, but having the templates reimplemented in each language makes maintenance a chore. What LinkedIn settled on doing was to only require applications to produce JSON responses (light weight and efficient to render) and rely on client-side (browser) rendering to transform the layout templates with JavaScript. This puts the expensive cost of rendering on the browser (totally scalable), and allows for LinkedIn to cache the layout on CDNs to accelerate their delivery (in addition to the CSS, Images, JS, etc.)
Some might argue that well written HTML+CSS is essentially the same thing. It’s not. First, HTML is verbose; the amount of data needed to even express a simple document far exceeds that of JSON because it includes layout information. Then generating the HTML is an expensive operation on the server involving parsing some source templates in (ERB, JSP, Jinja, Smarty, etc) and assembling them in a string object with lots of concatenation. Lastly, no matter how “light” you make the HTML, you’re still mixing layout with data so you can’t statically cache the layout on a CDN without using ESI (fancy XSLT).
Compare this to simply requiring apps to produce JSON responses. JSON is lightweight and efficient to generate. Most scripted languages have native bindings to libjson so that rendering is done in C.
Lastly, if the thought of templating done entirely in the browser is not appealing (perhaps for SEO reasons), there’s always Node.js which can sit in between; however, this negates the CDN-effect for template caching and puts the computational onus back into your datacenter / cloud.
I’m not a “frontend” guy, so maybe that’s why this immediately appeals to me. I’m curious what frontend developers think about this approach?