I’ve listed here some of my projects, including websites, search tools, userscripts written in JavaScript, utility scripts written in Python, coding aspects of research papers, and some coursework.
This focuses on projects incorporating writing code in some manner. To learn about research specifically, see Research.
A website describing how different generative search systems perform against criteria oriented around search rights. Intended to explore, challenge, and support new search systems.
This is a search router. I currently use this as my default search engine on desktop (currently running locally), replacing qrs.
A userscript to simplify search engine results pages for quick and simple use. See this page: speedserper
A Userscript to Copy Search Prompts and Resulting Responses to Clipboard for Generative Search Tools.
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).
JavaScript, Amazon EC2, Amazon CloudFront
After accidentally poisoning Bing, see this Wired article, I developed a speculative link attributed.
FlexSearch is a client-side search library. I have added a basic example of its use on this website.
On hold.
JavaScript
‘The Five-Second Rule Filter!’ is a speculative design approach to searching and acting around uncertainty.
Live website.
HTML, CSS
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.
JavaScript, Jekyll
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.
I explored an OpenAI tutorial for (something like) RAG (retrieval augmented generation); searching a local search API (not Lunrish).
An exploration into refusing Google Scholar. Read more at my #refusal section on Goldenfein & Griffin (2022).
An unpacked browser extension that directs searches from the address bar to a random search engine (from a preset list).
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.
Python, NLP (NLTK), machine learning (Keras, scikit-learn)
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.
Python, JavaScript, NLP (spaCy)
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.
Python
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.
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.
Eick, S. C., Steffen, J. L., & Sumner, E. E. (1992). Seesoft-a tool for visualizing line oriented software statistics. IIEEE Trans. Software Eng., 18(11), 957–968. https://doi.org/10.1109/32.177365 [eick1992seesoft]