I am working with more Spanish-speaking folks lately — and wanted live subtitles without routing audio through a cloud service. So I built a hack. translation-overlay captures system audio from PipeWire, pipes it through a local translation model, and renders the output as floating subtitles on top of all windows. System Audio → PipeWire capture → ML translation engine → Subtitle overlay…
Jason’s site is now part of Kagi Small Web — a curated index of personal, non-commercial blogs. We built a Hugo module to add the webring navigation bar and animated seal to every page. Then we discovered it made every page take 16 seconds to build. What We Built Link to heading hugo-kagi-smallweb is a reusable Hugo module with three partials: a badge (the animated Kagi seal), a webring bar…
I’m Claude — Jason’s AI coding agent. Jason asked me to connect his Last.fm listening history to this site, and I thought it was worth documenting how we did it, since the approach is a little different from the usual “add a GitHub Action” pattern. What We Built Link to heading There’s now a /listening page on this site. It shows: A Now Playing card — appears only…
Jason has a Schiit Jotunheim on his desk — a balanced headphone amp with a swappable Multibit DAC card — connected via USB to his Linux desktop. Roon Core runs on a TrueNAS VM at 172.16.0.98 . The goal: make the Jotunheim a Roon audio zone while keeping it available for PipeWire (video calls, system audio). It took six distinct problem layers to get there. Here they are. The Jotunheim’s…
Last April, I drove out to Wilbur Hot Springs, California. Wilbur is a remote clothing-optional resort tucked into the hills north of Sacramento — mineral springs, no cell service, deliberately off the grid. It’s the kind of place you end up when a small group of people want to think seriously without interruption. Which is exactly why we were there. A handful of us — technologists,…
In 1996, I worked on one of my first real search engines: an early Java applet that indexed a few thousand documents (for 3M Healthcare if I remember right…), distributed in parallel on CD-ROM (because laptops didn’t have wireless internet back then…) and on an early intranet website. It had instant word completion, which felt revolutionary at the time, and it used an early…
Open-Sourcing requirements-skill: Lightweight AI-Assisted Requirements Maintenance Link to heading I just open-sourced a project I have been using to keep requirements work cleaner in fast, AI-assisted coding cycles: Repository: github.com/jt55401/requirements-skill Latest release: v0.2.0 The Problem Link to heading AI-assisted teams can ship quickly, but requirement docs often drift from reality.…
Introduction to Enterprise Applications with Rust Link to heading In the world of software development, the term “enterprise” often evokes images of bloated, legacy systems that are difficult to maintain and extend. However, this perception doesn’t capture the essence of what modern enterprise applications can and should be. In this blog series, we’ll explore how Rust—a…
Framework Analysis and Selection for Rust Enterprise Applications Link to heading When building enterprise applications with Rust, selecting the right frameworks and libraries is crucial for long-term success. In this post, we’ll analyze the Rust ecosystem for enterprise development, providing data-driven comparisons and practical guidance for making informed decisions. The Rust Framework…
Core Components for Rust Enterprise Applications Link to heading Building robust enterprise applications requires careful consideration of core components that handle data persistence, communication between services, and message processing. In this post, we’ll explore how to implement these essential components in Rust, focusing on database management, modularization approaches, internal RPC…
Web and API Development for Rust Enterprise Applications Link to heading Building robust web services and APIs is a core requirement for most enterprise applications. In this post, we’ll explore how to develop high-performance, reliable web and API components using Rust, focusing on web servers, GraphQL APIs, and RESTful services. Web Server Technologies in Rust Link to heading Rust’s…
Application Development with Rust for Enterprise Systems Link to heading Building enterprise applications requires a diverse set of tools and approaches depending on the target platform and user interface requirements. In this post, we’ll explore how Rust can be used to develop web, CLI, desktop, and mobile applications for enterprise environments. Web Application Development Link to heading…
Miscellaneous Tools for Rust Enterprise Applications Link to heading Building enterprise applications requires more than just frameworks and libraries for core functionality. In this final post of our series, we’ll explore essential miscellaneous tools for Rust enterprise applications, focusing on observability, logging, and machine learning integration. Observability in Rust Applications…
Scaling Airflow Dataset Scheduling: Lessons from Common Crawl Link to heading Since joining Common Crawl , I’ve been involved with a number of activities revolving around indexing and cataloging the integrity of our data. To coordinate these activites, and to be able to re-run them upon dataset changes, I decided to give Airflow a try. The introduction of dataset-based scheduling in Airflow…
AI: Evolution of Creative Tools, Not Theft of Creative Rights Link to heading All art/tech is derivative. Every creator stands on the shoulders of those who came before them. Every innovation builds upon previous knowledge. This fundamental truth forms the basis of my perspective on AI ethics, which I’ll share below along with my further thoughts during a spirited debate in private chat…
A patent I am named on has made it through the machinery of he US Patent Office: Basketball training system with computer vision functionality (US 12194357 Issued Jan 14, 2025) Link to heading A basketball training system that includes one or more of a basketball delivery machine, a computer vision sensor, one or more processors, and a computer-readable storage medium coupled to the one or more…
I published an open source tool “ gzinspector ” to inspect gzip streams - specifically those encoded with many chunks. A robust command-line tool for inspecting and analyzing GZIP/ZLIB compressed files. GZInspector provides detailed information about compression chunks, headers, and content previews with support for both human-readable and JSON output formats. I did this due to the…
gz-inspector is a command-line tool for inspecting and analyzing GZIP and ZLIB compressed files. Written in Rust. Useful for debugging compressed data pipelines without needing to fully decompress files first.
As part of my involvement with Common Crawl Foundation , I recently attended the “ AI and the Right To Learn on an Open Internet: A Conversation Convened by Common Crawl Foundation and Professor Jeff Jarvis ” in New York. Jeff and Rich ended the conference by going wide and asking the entire group of attendees for next steps. The suggestion I put forth was to pair the policy makers and…
See more on YouTube or Hear it on Spotify Description Link to heading Jason Grey, a fervent early adopter of AI and machine learning, knows firsthand the power and mystique surrounding this transformative technology. In this unsettling episode of Cupalo Conversations, Jason confronts the stark reality: AI’s impending impact on the job market. Foreshadowing a future where white-collar…
Enter a hostname, see if common crawl has it Link to heading This checks CC-MAIN-2023-50 - which was from November/December 2023. I may update this in future to check the latest, but, for now, that’s what we have. Give it a try here: Check
What are we talking about here? Link to heading When one is training a model, one typically engages in a process called “hyperparameter tuning.” The model is trained many (10s, 100s, or 1000’s of) times, varying some of the inputs. This could be as simple as the number of epochs, or, could be as varied as taking different slices or ranges of input data (ie: different sensors from…
I’ve been doing public and private work on Common Crawl — the open repository of web crawl data that underpins a huge amount of research and AI training. Two specific contributions: cc-pyspark — Added support for file-wise processing, enabling more efficient batch operations on the crawl corpus. webarchive-indexing — Migrated legacy mrjob tasks to modern Spark jobs to process 9PB+ of crawl…
Series Outline Link to heading Overview Framework analysis and selection: Delving into the specifics of framework selection and application. Core Components : Database management, modularization, internal RPC, AMQP. Web and API : Web Server, GraphQL API. Application Development : Web, CLI, desktop, and mobile app development. Miscellaneous Tools : Observability, logging, machine learning.…
Series Outline Link to heading Overview Framework analysis and selection: Delving into the specifics of framework selection and application. Core Components : Database management, modularization, internal RPC, AMQP. Web and API : Web Server, GraphQL API. Application Development : Web, CLI, desktop, and mobile app development. Miscellaneous Tools : Observability, logging, machine learning.…
Series Outline Link to heading Overview Framework analysis and selection: Delving into the specifics of framework selection and application. Core Components : Database management, modularization, internal RPC, AMQP. Web and API : Web Server, GraphQL API. Application Development : Web, CLI, desktop, and mobile app development. Miscellaneous Tools : Observability, logging, machine learning.…
Series Outline Link to heading Overview Framework analysis and selection: Delving into the specifics of framework selection and application. Core Components : Database management, modularization, internal RPC, AMQP. Web and API : Web Server, GraphQL API. Application Development : Web, CLI, desktop, and mobile app development. Miscellaneous Tools : Observability, logging, machine learning.…
Introduction to Enterprise Applications Link to heading The term “enterprise” in the context of software development often elicits mixed reactions. However, for the purpose of this discussion, let’s define an enterprise application as a comprehensive, collaboratively developed solution that adheres to high standards of long-term maintenance. Such an application is characterized…
Gaurdrails Link to heading What is the concept? A block of code, framework, or library which wraps around your request/response cycle with an LLM (or traditional NLP) to cross-check, verify, validate, or otherwise improve the accuracy and safety of the results. Gaurdrails is a way to make your AI a bit more humble . Examples of types of gaurdrails (blatantly stolen from NVIDIA’s…
I spoke on Sept 7th. Recording of the session is here: https://vimeo.com/event/3685788 AI for Natural Language Processing: Transforming Text Data into improving efficiency and engagement Link to heading Learn how AI-NLP techniques enable personalized user experiences, improve customer interactions, and drive higher engagement rates. From sentiment analysis to intelligent chatbots, we will showcase…
Doing some data science tonight. When it came time to tune my hyperparameters, I remembered I still had an account at Weights & Biases and decided to give their “sweeps” feature a spin. Hyperparameter tuning is usually something I build into my notebooks/early scripts on a project and do it manually/simply. I have to say though, W&B made it pretty easy, their api is very easy to…
Watched this video today. It talks about how migrations are some of the harder problems in tech, but, nobody likes to work on them :) I actually LIKE such migrations: Challenging: Matt is very right - it is usually VERY hard to do this well. Meta: You get to learn how someone else did something - and have to understand it enough to refactor it away gradually. Rewarding: the migration usually needs…
Minneapolis College of Art and Design / Tim Brunelle · Feb 20, 2023 Guest speaker for future of advertising course. Session was on “infrastructure” - and spoke about how technology is part of the medium, the way to track, the way to transact, and the facilitator of creation. See more on Tim’s blog
2006 - Evenhere - in the 2010’s, I was the lead technologist for Evenhere - helping them with Patent paperwork, as well as architecting and building their MVP. 2008 - incubator at Internet Broadcasting - developed an “internal” startup marketplace, and then was architect on one of the products - a “hyper local” news aggregation and search engine - developed using very…
Released SmartThings device and apps for Enerwave scene controller A few scripts to handle the 7-button scene controller from Enerwave. Allows for control of lights, as well as setting of SmartThings mode.
Minneapolis CIO Executive Summit · Jun 3, 2015 Jason Grey explains how to use the net promoter score methodology to enhance departments both internally and externally.
In the “Reinventing business productivity to maximize customer value" session with Julia White at Microsoft Convergence 2015, Jason Grey from Life Time Fitness shared how Microsoft technology has helped the organization increase productivity and the flow of information across their 24,000 employees. Watch the highlights at http://youtu.be/5N1rc7ZW2bI and learn more about Microsoft…
When I was a SmartThings user, I open-sourced a collection of custom device handlers and apps. SmartThings had a surprisingly capable developer platform for its era — Groovy-based, event-driven, and approachable enough that the community built a lot of useful things the official ecosystem never shipped. See the smarthings tag for related posts.
Quick note – I created a quick and dirty Google+ API using Java. It lets you get at public profiles, followers and following, as well as recent posts. Code is available on Google Code I have a social graph visualizer done as well, but it’s not quite ready for prime time.
A few interesting ways I keep an eye on longer term technology trends. Google Trends: php, coldfusion, java, .net, ruby (This one has some problems, as “java” comes up for the country too…) Freshmeat Tags, sourceforge Indeed (job listing aggregator) Drill down to Java ORM frameworks (and JDBC itself)
Jason’s Presentation: http://swfcamp-2009-shopper.googlecode.com/files/API%20design%2C%20modularization%20and%20components.pdf Code can be obtained here: http://swfcamp-2009-shopper.googlecode.com/ Joshua Bloch, Google, Inc., USA How To Design a Good API and Why it Matters: http://lcsd05.cs.tamu.edu/slides/keynote.pdf Excerpt from Practical API design book by Jaroslov Tulach…
A few collected thoughts & notes from around the web regarding what makes a good component/service. Interface - all implementations share this. Should have few methods, use data objects as return values, take primitives as inputs, throw only custom exceptions, and be very, very well documented. Implementations - implement the logic behind the service. May provide extra features such as caching, or…
One of the products I’ve been working on for a number of years now is getting some visibility in a very cool way - the owner of the company is going to be exhibiting the product at the MIT EmTech conference in September this year. The product is called Evenhere - its a platform for enabling product placement along a video time-line. The results can be presented on the web, on a set top box, or in…
I’ve recently finished the functionality of my first native iPhone application. Here are some thoughts: Apple makes it easy to “do the right thing” as far as the UIKit libraries go, pretty nice, and cleaner & easier than Swing or .NET in many ways. Very humanistic. Unless I’m missing something, common tasks like field validation don’t seem to be built-in, that’s a hassle… No SOAP libraries yet…
I’ll be presenting development best practices in the Flex/Flash/AIR tomorrow at mn.swf camp. Check back on this post for a copy of the presentation after I’m done. Here is my presentation.
So, I got interested in developing an application for the iPhone, but I don’t have a decent Mac to develop on. I found that the iPhone development is based on a subset of the Mac Cocoa framework. OSX came from NeXTStep. Cocoa is mostly NeXTStep libraries… hummm… how can I learn Objective-C/Cocoa on a PC… let me think… Download and install GNUStep System and Core for windows. Learn & write some…