Skip to content

Instantly share code, notes, and snippets.

View tagawa's full-sized avatar

Daniel Davis tagawa

View GitHub Profile
tagawa / gist:e6f054c947f6e34075a9a3bb77858534
Created September 19, 2018 01:28
Blockstack ID verification
View gist:e6f054c947f6e34075a9a3bb77858534
Verifying my Blockstack ID is secured with the address 1JTaYHmd7hqFU552nwoYswJMDYK7vwTsUP

Keybase proof

I hereby claim:

  • I am tagawa on github.
  • I am ourmaninjapan ( on keybase.
  • I have a public key whose fingerprint is 3E1C EFCC 2C98 EFE3 475D 8DA0 E182 7173 C38B 9666

To claim this, I am signing this object:

View genesis_public_key

Open Source at DuckDuckGo: Seven Lessons Learned

DuckDuckGo is a search engine that's always been known for privacy (among those who'd heard of it). Last year we passed 3 billion annual searches, and it’s critical that we continue to delight users without sacrificing their privacy.

The key, we realized a few years ago, was open source. We created an API and started a community where anyone can join us in improving search results. These contributions are called Instant Answers and they appear above the organic search results.

Our community has steadily grown since then, with hundreds of contributors and counting. Over the years, we’ve learned several powerful lessons about what makes an open source community thrive — particularly one symbiotic with a startup company.

Go With the Flow

tagawa / sessionStorage.js
Created June 6, 2012 06:31
sessionStorage polyfill
View sessionStorage.js
* Based on:
* and
* and
* License:
(function(window) {
'use strict';
window.sessionStorage = window.sessionStorage || {
tagawa / usurp-tco.js
Created January 30, 2012 06:26 — forked from GarrettS/usurp-tco.js
View usurp-tco.js
(function() {
if (window.location.hostname === "") {
var tcoToLinkTitleURL = function(ev) {
var target =, dataURI = target.getAttribute("data-expanded-url");
if (/^https?:\/\/\//.test(target.href) && dataURI) target.href = dataURI;
document.addEventListener("mousedown", tcoToLinkTitleURL, true);