Projects
Tools, userscripts, websites, and experiments exploring search, information retrieval, and related topics.

SearchRights.org
A website describing how different generative search systems perform against criteria oriented around search rights. Intended to explore, challenge, and support new search systems.
Actively under development and updated.
Tech: Jekyll, HTML, CSS

SearchJunct
This is a search router. I currently use this as my default search engine on desktop (currently running locally), replacing qrs.
Actively being developed.
Tech: JavaScript, HTML, CSS

speedserper
A userscript to simplify search engine results pages for quick and simple use. See this page: speedserper
Actively being developed.
Tech: JavaScript, HTML, CSS

CopyPromptPlusResponse
A Userscript to Copy Search Prompts and Resulting Responses to Clipboard for Generative Search Tools.
Actively being developed.
Tech: JavaScript, HTML, CSS
Lunrish
This is a modification of the Lunr.js search library adapted (for this website) for delivery server-side.
Actively being developed. API works and currently serves search results on danielsgriffin.com (as of 2023-12-11).
Tech: JavaScript, Amazon EC2, Amazon CloudFront

bot-ixn
After accidentally poisoning Bing, see this Wired article, I developed a speculative link attributed.
In use on danielsgriffin.com.
Tech: HTML
FlexSearch Working Example
FlexSearch is a client-side search library. I have added a basic example of its use on this website.
On hold.
Tech: JavaScript

The Five-Second Rule Filter!
'The Five-Second Rule Filter!' is a speculative design approach to searching and acting around uncertainty.
Live website.
Tech: HTML, CSS
Using Lunr.js on danielsgriffin.com
Lunr.js is the client-side search library currently providing search on this website. It is modified to support exact phrase searches, bangs, and special sorting.
Actively being ported to Lunrish.
Tech: JavaScript, Jekyll
danielsgriffin.com
A space for public writing and exploration around search. Link above goes to the /Site page. GitHub link below goes to a public issues repository (the latter is also linked to from my Feedback page.
Actively maintained and developed. See Roadmap.
Tech: JavaScript, Jekyll, CSS, HTML, Python

ctplsm
This "Contextual Twitter Poultice for Learning So Much" userscript explores alternative search suggestions, generated context around queries, and routing to alternative search tools on Twitter/X search.
Actively used by author.
Tech: JavaScript, HTML, CSS, OpenAI (gpt-3.5-turbo)

ABCDEFG
This "Auto-Button-Click Double-check Evaluation for Funsies or Gnoses" userscript automatically clicks the "Google it" or "Double-check response" button that appears for Bard responses.
Actively used by author.
Tech: JavaScript
OpenAI's 'Question answering using embeddings-based search' on this website
I explored an OpenAI tutorial for (something like) RAG (retrieval augmented generation); searching a local search API (not Lunrish).
Jupyter notebook is available at the above link.
Tech: Python, OpenAI (embeddings; ChatCompletion); HyDE; RAG
No Data To/From Google Scholar December!
An exploration into refusing Google Scholar. Read more at my #refusal section on Goldenfein & Griffin (2022).
Ongoing...
Tech: Chrome extension: Redirector (from Einar Egilsson)

query random se (qrs)
An unpacked browser extension that directs searches from the address bar to a random search engine (from a preset list).
Legacy - last updated 2023-05-24
Tech: JavaScript

Twitter API data pull for Burrell et al. (2019)
Used Twitter's API to find tweets discussing 'the Twitter algorithm' (various permutations)
Research project completed.
Tech: Python

Twitter API data pull & analysis for Griffin & Lurie (2022)
Used Twitter's Academic API to pull conversations with Google's Search Liaison.
Research project completed.
Tech: Python, Jupyter Notebook
certainfuture
2017 class project in David Bamman's Deconstructing Data Science class (with Natalia Timakova), looking at certainty/uncertainty in future-oriented language about "fake news" interventions.
Did not continue after the class.
Tech: Python, NLP (NLTK), machine learning (Keras, scikit-learn)

The Gadfly Project
2016 capstone project for UC Berkeley's MIMS program: "Give our service any block of text and we will automatically return a set of related questions." (with Vijay Velagapudi, Anand Rajagopal, Nikhil Mane, and Andrew Huang; advised by Marti Hearst; see project page and final report).
No longer hosted.
Tech: Python, JavaScript, NLP (spaCy)
"Python Boot Camp"
I taught this 3-week course for the School of Information at UC Berkeley for three years. I modified materials from Corey Hyllested, including updating to Python 3.
Handed off materials to subsequent instructors (Proxima DasMohapatra and Michael Gutensohn) for summer 2019.
Tech: Python

TweetDay
An exploratory visualization to provide a lens for browsing hundreds of tweets at once; a class final project for Marti Hearst's Information Visualization class (with Vijay Velagapudi, Nikhil Mane, and Andrew Huang); write-up at link is from Andrew Huang.
No longer hosted.
Tech: JavaScript; Seesoft-inspired [@eick1992seesoft]
"Justificatory Claims in Open Source Mailing Lists"
2014 class final project in Marti Hearst's Applied Natural Language Processing class (with classmates) looking at identifying the types of justificatory claims (i.e. analogy, authority, experience, generalization, or other) made in open source mailing lists.
Did not continue after the class.
Tech: Python, NLP (NLTK), BigBang


