about
Things built for people me.
The dkdc-io organization on GitHub was created in November 2024 to consolidate useful code in a free and open source manner. The priority is code components that can be composed to quickly develop and deploy scalable data applications.
The code in dkdc-io was harvested from various projects largely done while I was unemployed for a few months. It also represents years of learning, hopefully distilled into simple Python components that can be combined in interesting ways.
However, most packages are in a minimal state of development and effectively unmaintained.
The goals of the organization’s projects include:
- good user interfaces
- rapid prototyping and iteration
- easy deployment (always local first)
These goals are largely achieved through the use of simplicity, Python, and “AI”.
views on “AI”
Artificial intelligence (“AI”) is a science fiction (and now popular culture) term that anamorphosizes the reality of computers. Reframing language models as string processors that operate in useful ways simplifies the dynamic drastically.
User:
“I want the phrase: ‘we often ____ AI as if it were human’, what’s the term?”
ChatGPT:
“The term you’re looking for is ‘anthropomorphize’.
So the phrase would be: ‘We often anthropomorphize AI as if it were human.’”
Technology is good. I strongly prefer you send your code in a GitHub pull request from a computer instead a fax of a print out from your typerwriter. In either case, if you can’t vouch for the work you’re publishing, you’re doing it wrong.
language models and Python (and SQL)
Abstractions: vim is a lot nicer than punching cards. Working with high-level programming languages is typically a lot more productive than working with assembly, though there will always be a place for programming languages at all levels of abstraction. For working with data (and machine learning), Python is a great choice and the clear winner by popularity (+ SQL).
views on simplicity
Python and SQL are arguably ubiquitous because of their simplicity. Both allow novice users to accomplish non-trivial work with minimal effort, while experienced professionals can use them to build complex systems.
the Python tech stack
Python is the user interface for programming at every level of the tech stack.
For now, this includes:
- Typer: CLI
- FastAPI: web server + continuous data ingestion and ETL (cron jobs)
- Ibis: table management and queries
- Quarto: website (static)
- Shiny for Python: web app
Meta-tools:
- uv: Python management
- justfile: task management
- Docker and Docker Compose: containerization
Infrastructure:
- GitHub: code, CI/CD, etc.
- Hetzner: cloud provider
- Raspberry Pis: home automation