27
Jan 12

Power Search Without Google

Search on the web is more than just knowing the right words to search. It’s knowing how to use the engine behind the text box. Here are a few quick tips for getting better results, many of which are not possible with Google.

DuckDuckGo

As any respectable search engine should, DuckDuckGo (DDG from here on) provides site specific search. Adding the “s:d” flag to the query provides search results ordered by date. To narrow search results to only hits where the page title has the specified word, throw in the “intitle:” flag. Unlike Google which now promotes Google services to the top of results, DDG promotes hits that are more valuable to the user. For example, searching for an emoticon provides the actual definition through what DDG calls “Zero-Click Sources”.

Searching for Python datetime functions produces a familiar list of sites with relevance but at the very top, a StackEchange result is actually loaded as a preview because DDG already knows that StackExchange is an authoritative site and the the first result might be the most relevant. Equally impressive, searching for an Cocoa Touch function provides a zero-click result with the method definition.

python search

Putting in an acronym also provides very quick access to definitions. There’s no need to click and look any further if it’s a common definition I’m looking for. Looking for a drug by name also provides the chemical structure and a brief description. If I just need a quick sample of Lorem Ipsum, that’s easy too.

The list of zero-click sites is pretty broad. There are song lyrics, map results and Yelp to name a few. Try the Punchfork recipe search for a quick way to find food recipes. These are invaluable research tools.

DDG also provides some very robust decision making tools.

Gates

Bangs

DDG also provides what seems like a site specific search on the surface but is actually a more convenient search than Google would ever offer. Bang prefixes tell DDG to offload the search to a specific site. Rather than producing crawled pages, the results are loaded into the site’s own search engine. For example, searching “!python os.path.lexists” loads the Python documentation search results. Searching “!stackexchange python os.path.lexists” loads the results for stack exchange. No intermediate landing page with ads. No social network turds floating to the top. Just the search results on the site I wanted. A ridiculous number of site searches are available that makes DDG a great landing page. It’s as if Quix became a search engine.

Goodies

DDG also has a number of other little goodies like reversing the lettters of a sentence.

Finally, DDG has direct integration with Wolfram Alpha for factual data results.

Wolfram Alpha

Most people know Wolfram Alpha can be used to get a company profile that includes stock performance. But it’s much more than that. Wolfram is a factual search engine. Or as their tag-line says, it’s a computational engine. While it can solve complex math problems, it can be equally useful for playing Hangman. Wolfram can also chart flat data or provide a curve fit.

Wolfram can also eat away hours exploring trivial data like a list of exo-planets

Wolfram can provide very complex analysis from a simple query, like the odds of landing black in roulette.

Black

 

Wolfram is one of the best basic resources for doing development or design. Need a character code for “em dash” or the hex code for a color. How about generating a captcha from a specific phrase or testing the strength of a password.

Interested in information about a specific domain? Here’s the profile of this site. Compare that to a real news site like TUAW, which also shows a map of their HTML hierarchy.

Interested in moving to a new area? Check out the crime rates first.

There are less academic uses. Wolfram has access to cultural reference data as well. For example a detailed profile of Luke’s father or the Beatles.

To anyone with a new iPhone 4S, this is nothing new. Siri does most of its magic with Wolfram Alpha. What I find funny is that so few people use the same magic on their desktop.


27
Jan 12

Changing the Netflix Business [Link]

Warner apparently negotiated new Netflix terms that limits the number of new releases allowed in a queue. I wonder if they got the same terms with BitTorrent?

By way of the Verge


26
Jan 12

Database Schema Designer Web App [Link]

This web app is equally impressive for being in HTML5 as it is for it’s functionality. Design a schema and then output the SQL to create it. I use Toad and DBArtisan at work and they are like a salted fork in the eye.

 

By way of Jonathan Christopher


26
Jan 12

Getting Off of the Google Juice

I’m not prone to wearing a tin-foil hat. But I do know when something just isn’t working in my best interest. Right now, Google is not working for me. I stopped using Google calendars over a year ago. I split my calendars between Exchange through work and iCal for home.

I switched my search engine many months ago to a combination of DuckDuckGo and Wolfram Alpha.[1] I have not found a need to go back. The first time I accidentally used Google I was greeted by a list of inane Google+ garbage at the top of the results. That was more than enough exposure for this year.

Docs

I stopped using Google Docs 18 months ago in favor of a combination of Dropbox and Simplenote. That transition has gotten much easier in the past 6 months as more developers embrace document syncing and the iOS 5 “open in” function.

As iCloud sync evolves I expect to have more options. Maybe I would have felt differently if Google had mimicked iWork instead of MS Office. As it is, MS Office earns no love from me. A paler version definitely will not.

Mail

The next major transition for me is Gmail. I have a number of email servers split between Gmail, Apple and my own hosted servers. But I keep coming back to Gmail because the Spam filters are so damn good. They’re like magic. But starting this weekend, I breaking the cycle. I’ll still forward my Gmail accounts to my primary inbox, but for all outgoing mail, Gmail is off the list.

Apple’s Mail has progressively improved over the past 6 months. The release of iCloud provided a competent web interface and the iOS syncing works well. The last piece will be a better spam filter running on my Mac at home. Before that, I’ll see how well Apple Mail works on its own. It won’t be Google quality, but it may be good enough.

Reader

The last major transition is not yet possible. I need to transition off of Google Reader. I read feeds like some people read news papers. I read them with morning coffee, at lunch and after dinner. Feeds are my view into the world. I don’t watch the news or listen to the radio. Because of that I need a stable, fast and reliable feed sync solution. As far as I know, there is no other option.

Google Reader is already in dramatic decline. The web interface looks like it was designed by Ferrari and performance feels like it was designed by Yugo. But, it’s the only game in town for now if I want to read feeds from any source.

Why?

Why go to this effort? Is this a conspiracy? No. Google is just being true to their mission: provide ever increasing information to advertisers so as to increase adverting revenue. I just don’t feel like being part of that. I’d rather pay for anonymity and data privacy. Google has not earned my trust and Apple, DuckDuckGo and Wolfram have.


  1. To be honest I was already using a combination of Wolfram and Google . Wolfram is just very good with the kinds of things I tend to search. Anything factual.  ↩


26
Jan 12

Rich Text in AppleScript and Shell Scripts [Link]

A nice simple combination of pretty basic shell commands to pipe formatted text to the clipboard. A bonus tip to convert Markdown to RTF on its way to the clipboard too.

 

Nik’s Crappy Blog


26
Jan 12

Corporate Personal Responsibility

There’s this guy I know. He was caught dead to rights marketing illegal drugs. I mean they nailed him. They got detailed records that he knowingly helped to market illegal drugs. Funny thing though. He didn’t have to go to jail. In fact the whole thing barely interrupted his day to day life. He just paid a fine and moved on.

Google. No individual I know of gets an option to pay a fine for a federal narcotics guilty plea.

I’ll accept corporate personhood when I start seeing some equivalent corporate consequences.


26
Jan 12

Blog Syncing With ifttt

I’m not a huge fan of new and free web services. They do easily and often. Most of the time I’d rather build my own solution if I can. Hypocritically, I love ifttt (If This Then That) for some background syncing functions. For example I have a couple of rules syncing Pinboard.in and Instapaper.1 Whenever I tag something in Pinboard with “instapaper” it is automatically added to Instapaper.

I found another great use that I probably would not spend time developing myself. Ifttt provides an action for WordPress blogs. The action has two modes. The first will download the content of a post to another ifttt available service. I setup two. One creates a post in Evernote whenever there is new content. The second downloads a link of the post into Dropbox. The action is quite nice. It understands most of the critical WordPress fields and they can be mapped to fields in Evernote, like title and folder and tag. They can also be mapped to the folder and file name in Dropbox.

 

There are additional options available that I do not use. For example, ifttt can also post to WordPress from any other connected service.

I just wish I could pay to keep Ifttt running. It will be a sad day when it goes offline.


  1. I have the built in syncing setup through Pinboard but that’s only one way: Instapaper favorite to Pinboard. 

25
Jan 12

iBooks and the eBott Format

Ed Bott recently elaborated on the evils of iBooks 2[1] due to the proprietary nature of the iBooks format. Guess what? iBooks 2 supports EPUB. He can sell his EPUB and still have it viewed on iBooks. I have many EPUB and PDF books that I have added myself. They look like crap. What Ed is apparently mad about is that Apple has created a tool that he wants to use because it’s better but it doesn’t output the format he wants so he can sell it somewhere else. I would love my Epson printer to output grilled cheese sandwiches. It does not. I don’t think Epson is evil.

Here’s the deal Ed. Apple will give you a great tool that outputs something more advanced than EPUB2 or even the EPUB3 draft. They will allow you to sell that book on their store. They will also advertise your book for free if they choose to.[2] Finally, they will allow you to give that book away if you so choose and not charge a nickel for anything. But they are not obligated to engineer a product that suits your specific needs and outputs two different formats from one application. They’ve provided pages for EPUB. They’ve provided iBooks Author for the iBooks format.

Ed’s logic is bewildering to someone like me. I don’t have delusions of grander from writing pulp technology[3] books. I tend to think linearly and understand the basic concept of cause and effect. But then again, I don’t write for ZDNet so I should cut him some slack.[4]

Apology: Sometimes I just can’t take the willful ignorance rampant on the web. Here’s a baby monkey to make up for it.


  1. He was also on an episode of TWIT. It’s worth a listen to appreciate how shallow his argument really is. He certainly sounded like a teenage girl arguing about staying out late. Complete nonsense.

  2. That’s highly unlikely given how awful those wastes of wood pulp have been in the past.

  3. This is the part where I’m being generous. In reality, it’s garbage all the way back to Windows 95.

  4. They’re still around right? I’m afraid to do a web search in case they have become a malware portal now.


25
Jan 12

Corporate Free Speech [Link]

This is an old Supreme Court decision that came up in a discussion today. I know the Citizen’s United decision generates all of the discourse around corporate personhood, but this case should tell everyone just how far the court is willing to push it. This grants further free speech rights to pharmaceutical companies and prevents the FDA from limiting that right. Let that sink in a bit.


25
Jan 12

Stephen Hargrove’s Writer Workflow

This is the third installment of Writer Workflows and Stephen Hargrove graciously answers some questions about how he writes.

I stumbled across Stephen’s writing at Spirit of Nine when I was researching some small project. He writes about the geeky kind of stuff that piques my interest. For example, Stephen has developed his own blog archive system using Day One. Not to mention he has developed an impressive static blogging system based on Dropbox.

I choose very carefully when adding feeds to my daily reading and Spirit of Nine easily made the cut.


MD: Why do you write at Spirit of Nine?

I enjoy writing. It’s just a thing I do. A writer writes, so I write. I also write over at MyAppleAnd.me with Dave Metzener, although not as frequently as I probably should. (Sorry, Dave!)

MD: How do you capture your ideas and research an article for Spirit of Nine?

I don’t write many long form posts, so I don’t currently have a need for an extensive capture/research system. I hope to change this over time though. I’d like to write more long form and fewer “LOL HERE IS A LINK” posts (although there’ll always be a place for the short and quick links).

I typically bookmark a link in Pinboard and tag it something like research along with something else meaningful. I have a folder on Dropbox called research with sub-folders for each post I’m working on. This folder will contain all the images and usually a text file or two containing references and thoughts. Once I’m done with a subject, I usually delete the bookmarks from Pinboard because I’m anal that way. (I’ve just looked at my research tag and can see that I’m not near as anal as I need to be. Also, I either need to write those posts or delete the bookmarks. My Pinboard is getting cluttered.) Pinboard is a fantastic bookmarking service and I highly recommend it. Love it.

I’ve been using Remember The Milk for years and I have reminders set up there to keep me moving forward on various articles, ideas, and things I want/need to read. I consider RTM a foundation stone. I’ve tried other task managers over the years but have yet to find one that works as well for me. However, as with all things, I’m willing to consider alternatives. If I found something that worked better, I’d switch.

MD: Can you provide an overview of your writing process?

  1. Find something that interests me.

  2. Research if necessary.

  3. Reflect/think.

  4. Write/edit.

  5. Does it suck?

    a. If yes, go to Step 2.

    b. If no, publish.

I think this process is pretty generic to anyone who writes (with the exception, sadly, of Steps 3 and 5). Step 1 is vital. I don’t like writing about boring things. Or if I feel something is getting enough attention (Apple’s iBook file format currently comes to mind), I won’t write about it unless I think I have a unique spin or something to contribute. This leads to fewer posts, but that’s fine. I don’t aspire to be an echo chamber.

MD: How long have you been doing it this way?

I’ve done it this way forever. When written out, it looks so boring. It could definitely do with some super heroes, car chases, or explosions.

MD: Do you have a specific work environment or setup for researching and composing an article?

Is this where I talk about hardware? Okay! I have a 27“ iMac where I do most of my programming and writing. I also have a 13” MacBook Air for writing. I love them both, fiercely. I have an iPad also, but I’m still trying to figure out how it best fits in the creative picture.

Almost all of my blogging and coding is done in TextMate. I use AppleScript Editor, too. (I could use TextMate for this, but I don’t code AppleScript often enough to care.) Sometimes I use Scrivener and am considering switching to it for all my writing because it lets me keep all my notes, etc., in one place. I’m just not comfortable with it’s syncing capabilities yet.

I store all my files on Dropbox. That’s kind of a no-brainer.

I’m a Markdown junky. While I’m writing a post, I preview it in Marked, which is one of my favorite apps. It’s so simple and so obvious. Using it makes me smile.

I use Acorn for processing images. I have Photoshop but it’s overkill for 99% of what I do on the website. Acorn makes me feel like I’m not an idiot. The guys at Flying Meat have some great AppleScripts for manipulating images in Acorn and I shameless borrowed from them when I was customizing my workflow.

MD: Does your workflow change based on the type of post?

Not really. By the time I start writing, I have most of what I need in front of me.

MD: What are your custom tweaks to your workflow?

I used to use WordPress and the fabulous MarsEdit for blogging. Over time, I grew tired of WordPress. Don’t get me wrong, it’s a great blogging platform. But I grew weary of applying upgrades and updates. And I was running so many plugins … plugins that wouldn’t always work with the latest security update. So then I had to decide do I want the security update or do I want this plugin? Suddenly, I’m a system administrator and trying to keep my site secure. And just as suddenly, I’m not writing any more because I’m upgrading my site and chasing down plugins and, oh hey, maybe I should make a backup because I don’t want to lose everything.

It got to be too much.

So I started thinking about rolling my own site. And this idea bounced around in the back of head for a long time. One morning I read Brent Simmons’s New publishing system / tour of my head and I knew it was time to get busy. About 2 years later, I got busy.

I started by splitting my workflow into two stages:

  1. Stuff I should do; and
  2. Stuff robots should do.

I only want to concern myself with the work of writing: researching, thinking, writing, and editing. The sweat equity. The grunt work called “writing”. So I built my system with the goal of getting everything that is not the work of writing out of my way.

Once I’m finished writing, I hand it off to the robots and they do everything else.

My robots come in the form of Perl scripts, AppleScripts, Ruby scripts, Bash scripts, etc. Programs that do the tedious work of getting the writing online.

The guts of the system is too much to get into, but here’s the crux of what the robots do.

  1. Watcher Robot (Hazel), gazing at my ‘new posts’ directory, sees a file ending with the extension .markdown;

  2. Watcher Robot grabs the file and feeds it to New Script Robot;

  3. New Script Robot:

    a. Makes a backup of the original post and images;

    b. Creates the new post;

    c. Creates the RSS feed and main page;

    d. Syncs the website to the remote host that houses Spirit of Nine;

    e. Sends a notification to Twitter;

    f. Sends a notification to my iPhone; and

    g. Updates Day One (my journal).

New Script Robot is actually made up of several scripts. For example, I have a script that generates my RSS feed and another that generates my main page. New Script Robot just calls these scripts.

I love the idea that my website is nothing more than a bunch of HTML pages. I keep the entire website on Dropbox, so I always have a local and remote copy. If I decide to move to another web host, it’s as easy as changing DNS, syncing my site and I’m done. Plus I don’t have to worry about getting fireballed (more system administration fun!) and my entire website is searchable through Spotlight or grep. The benefits of having your website on Dropbox and be nothing but a bunch of HTML pages are almost too many to number.

MD: What parts of your workflow are you looking to change or improve?

One of my goals is to find ways to increase the amount of time I reflect and think before settling down to write. It’s not something I’ve been committed to in the past, but moving forward I aim to change that. Nothing I post could be considered “time sensitive,” so I really have no excuse. Not thinking before writing strikes me as poor form. Reflection, thinking, meditating, whatever you want to call it, is sorely under-valued today. So many people just post whatever is on their mind with no attempt to examine the thought, poke it, play with it, see if it has value or can be improved. That’s what I hope to change about Spirit of Nine moving forward.

As far as tools go, I’m happy with what I have. I’ve written all the tools I think I need so, absent a few tweaks, I’m finished developing it.

However, I’m always open to trying new things. If someone says “Oh, you really should try this task manager,” I’ll give it a look. I’ll never be convinced that I have The Best System EVAR®. However, I do believe that my system is the best it needs to be right now. If it wasn’t, I’d be fixing it. Most of the fixes I’m interested in are the ones that push the system out of my way and let me concentrate more on thinking and writing. I think, for now, I’ve found that balance.

In the future, I’d like to expand into other programming languages. I’ve been impressed with how much Brett Terpstra can do with so few lines of Ruby. I rewrote one of his scripts in Perl and it was an offensive amount of code. Granted, I’m not the world’s best Perl programmer, but there’s definitely room for improvement here.

MD: What parts of your workflow are you least willing to change?

If it can be made better, I’m willing to change it. “Better,” of course, is subjective. I wouldn’t sacrifice accuracy for speed, but I’d sacrifice speed for accuracy. I’m not interested in page views or hits. I’m not opposed to advertising, but it’d have to be extremely unobtrusive.

What I’m trying to say is this: I’m not interested in doing anything that makes writing or reading less enjoyable.

MD: Anything else you would like to share about your workflow?

That’s it. Thanks for the chance to share. It’s been fun!


25
Jan 12

How to Write in Markdown [Link]

A great overview by Michael Schechter on A Better Mess. Although I would argue all use of Markdown is lazy. That’s why I love it.


24
Jan 12

Keyboard Maestro Folder View Macro

Keyboard Maestro has some granular control over window arrangement. Combine that with the ability to trigger specific menu items, I can create a preset view for just about any folder.

For example, this macro opens my Notes folder and displays it sorted by last modification date. I use a minor “If Condition” trick to turn off the toolbar if it is visible. The “If Condition” looks to see if there is a menu item named “Hide Toolbar” available. If it is, then the macro triggers the menu item. The Macro subsequently repositions the window and sets the Arrange By Date Modified option.

Notes View Macro

 


24
Jan 12

Keyboard Maestro Pause Condition — BBEdit Footnotes

Keyboard Maestro 5 contains several new conditional actions. The “Pause Until Conditions Met” actions is modest sounding but contains a lot of power. Fundamentally, the action will pause the currently running macro and watch for a specific condition to be met. What condition? Well, pretty much anything.

 

Wait For Menu

I’m sure there are some very interesting ways to use this, but here’s a somewhat boring yet powerful macro for entering a footnote in Markdown on BBEdit.

Footnote Macro

 

When the macro is triggered, it asks for a footnote title then sets a BBEdit Jump Mark. After jumping to the bottom of the page and inserting a footnote placeholder, the macro waits. It waits for me to finish typing my footnote. When I hit return, the macro continues where it left off and executes the BBEdit “Jump Back” function which places my cursor right back where it was. Then the footnote link is inserted and I can continue typing.

To be clear, other Keyboard Maestro macros can still be run while the first macro is paused and waiting to continue. The Pause action is not pausing KM but rather just pausing the single macro. I don’t think I would let a macro sit paused for days, but certainly for normal use I have not seen any problems.


24
Jan 12

Banking Automation [Link]

An in-depth look at the pathetic state of banking data exchange. Ok, the post is great and there’s some nice tricks in it. It’s just a shame that so much hacking is required to do banking. It’s my understanding that the least likely way to have your account compromised is by someone directly hacking access through the bank portal. It’s more likely to come from insecure credit card storage by a Sony service.


24
Jan 12

Tabs Vs. Spaces [Link]

Following the rabbit hole of the StackExchange discussion thread about tabs versus spaces in Python.

If tabs are wrong, I don’t want to be right.