By Reading Time

Essays organized by estimated reading time (based on ~200 words per minute).

Quick Reads (1-3 min) (133 essays)

Dear Borders: I hate you 3 min 691 words
Dear Borders (and Starbucks subidary Seattle's Best Coffee), You have a lovely book store. Quite lovely This essay captures the frustration of the early connected generation—developers who saw internet access as essential infrastructure, not a luxury service. Kenneth's café preferences foreshadowed the remote work culture that would dominate tech.. I...

On Heroku and 2012 3 min 688 words
Alas, 2012 is quickly coming to a close.This has been an absolutely incredible year — easily the best of the mere twenty\-four I've experienced so far. I became a member of the Python Software Foundation, traveled all over the world, met several thousand inspiring software developers, and collaborated on dozens...

Browser Wars: The Saga Continues 3 min 681 words
Every computer-savvy technocrat is partial to their own web browser of choice. I've used every major one out there, and have to come to the conclusion that there is no one-for-all browser that everyone should useWritten in 2008, this essay captures the browser landscape at a pivotal moment—Chrome had just...

Announcing Requests v1.0.0! 3 min 677 words
Today marks a major milestone. Requests, Python HTTP for Humans, has finally reached release v1\.0. This is a big deal. The transition from version 0.x to 1.0 represents a fundamental shift in software development philosophy. According to semantic versioning principles, this milestone signals the library's evolution from experimental prototype to...

Major Progress for Requests 3 min 674 words
Requests has changed a lot over the past few months. An update is long overdue. In case you aren't familiar, Requests is Python HTTP for Humans. A Slow and Painful Death for Urllib2 The most notable change has been the complete removal of urllib2 as a dependency. Requests started out...

Sublime Text 3 Love 3 min 670 words
I'm happy to announce that Sublime Text 2 [edit: post valid for Sublime Text 3] was officially released today! This is awesome news. I've spend 12+ hours a day for the past year and a half in Sublime Text 2. It is indeed sublime. Why should you try it? It's...

Israel: Tel Aviv & Jerusalem 3 min 669 words
I recently returned from Israel for a conference, DevCon TLV. Preparation I have to admit — I exhibited a fair bit of hesitation for this trip. My good friends and colleagues Terence Lee and Richard Schneems were at a similar conference in Tel Aviv, but had to leave early because...

Understanding Ableton Push 3 min 667 words
Since I was a young child, I've loved music. I became a percussionist early on and dedicated over a decade of my life to my beloved drum kit. Today, I own a growing number of synths and keyboards, but my musical mind continues to gravitate around the concepts of rhythm...

Back Around Again: Review of the Fujifilm x100t 3 min 648 words
If you've been following me for any length of time, you have more than likely noticed: I change my mind a lot. One month, I will be convinced that one particular camera will be the only camera I will ever need for the rest of my life. The next month,...

Sick of Wireless 5GB Caps 3 min 628 words
I live 15 miles away from a lovely town called Winchester, VA. [^1] We do not have cable where I live. We also don't have DSL. That's right, no highspeed. All that we have is Satellite. I'm a web developer, I need something a little more relable than a Satellite...

Documentation is King 3 min 614 words
As a member of the development community, I have the unique opportunity to take part of a powerful social movement, creating the tools that are fundamentally changing the world around us. Open source has found itself to be the crux of my professional, personal, and social life. There's something special...

Why I Left Medium 3 min 609 words
A few months ago, I decided to move all of my content over to Medium. If you aren't aware, Medium is a new content platform designed for readers and writers. Its main draw is an elegant writing interface combined with the ability to comment on specific pieces of text, instead...

Was College Worth It? 3 min 598 words
George Mason University (at which I'm currently a non\-studying student) is a fantastic environment for a student in their 20's.Kenneth's description of himself as a "non-studying student" reveals his unconventional approach to higher education—using the institution for its resources and environment while pursuing his own learning path. This reflects his...

Panasonic GX850 Review 3 min 596 words
I recently decided to switch cameras (again). This is something I do every few years, out of boredom, mostly, and it always inspires me as a photographer. I usually end up switching between Leica and Fujifilm cameras, but this time is different — I decided to pick up my first...

Early Adoption 3 min 574 words
The world is full of people who wait for people to tell them what to use next. Especially on the internet.Written in 2009, this observation predates the rise of social media influencers and the entire "recommendation economy." Kenneth identified the fundamental human tendency toward social proof in technology adoption before...

Facebook vs Twitter: A Critical Synopsis 3 min 572 words
For the sake of us all, lets take a look at two major social networks on the web today: Facebook and Twitter.Written in 2009, this comparison captures a pivotal moment when Twitter was still emerging as a major platform, before its role in political movements, before Facebook's massive scale, and...

On Cybersecurity and Being Targeted 3 min 570 words
Last month, I was the subject of a targeted cyber attack. Someone went through substantial lengths to attempt to gain access to my GitHub account, but were thankfully unsuccessful because two\-factor authentication was enabled. Account security is something that I’ve always considered myself to be rather pragmatic about — I...

Be Cordial or Be on Your Way 3 min 559 words
Contributing to Open Source can be stressful. By opening a Pull Request to a popular project, you're inviting the maintainers and all of their users to analyze and scrutinize your code. Often, they will. This vulnerability inherent in open source contribution—exposing one's code to public scrutiny—creates a unique psychological dynamic...

A Better Pip Workflow™ 3 min 550 words
Update: I developed Pipenv to solve these problems. Check it out. --- When developing Python applications today, it’s standard practice to have a requirements.txt file in the root of your repository. This file can be used in different ways, and typically takes one of these two forms: 1. A list...

Spotify in the US? Yes please. 3 min 545 words
I spent about 8 hours last night obtaining a Premium Spotify account in the US, and I've never been happier. As you know, Spotify is only available in the UK, Spain, and France. So, the only way to signup for an account is to take a trip overseas... virtually. Step...

The Call for an Open Source Social Network 3 min 542 words
Lately, I've been tossing some ideas around that I feel would benefit the Social Web as a whole. It's been going through some rough times lately, and I think it's time for a change. My first idea was to create a site that was rather decentralized, allowing all of your...

Xcode, GCC, and Homebrew 3 min 521 words
Open source is incredible. Several months ago, I got fed up with having to download Xcode to build my software. I took the Xcode installer, ripped out all of the parts I didn't need, and made a nice installer for GCC. It ended up being ~200MB in size. It took...

Migraines, Color Film, and San Francisco 3 min 517 words
I've made some major experience changes to my life recently (which I'll write about soon). I seem to have found myself with a newfound appreciation for color. I've been subtly adding more color to my wardrobe, buying brighter colored flowers for around the home, and I even purchased a brightly...

if (TextMate == 42) 2 min 500 words
{ I've had some pretty extensive experience using every major OS for various forms of development and end-user work. And just like every other programmer in the world, I certainly have my opinions, likes, and dislikes of every platform (some are a lot closer to perfection than others of course)....

Announcing Pipenv! 2 min 496 words
I wrote a new tool this weekend, called Pipenv. Check it out on GitHub! Pipenv is an experimental project that aims to bring the best of all packaging worlds to the Python world. It harnesses Pipfile, pip, and virtualenv into one single toolchain. It features very pretty terminal colors. It...

The Hitchhiker's Guide to Python, Now Published! 2 min 489 words
In March of 2011, I started a project known as The Hitchhiker's Guide to Python, a documentation website (available at python\-guide.org) designed to document much of the collective tribal knowledge from various sectors of the Python community. It intends to serve as both a guidebook for newcomers to Python and...

Amazon is Amazing... Most of the Time 2 min 485 words
Again and again I'm really amazed at Amazon. I discovered Amazon S3 a few months ago, and was really impressed with the service Kenneth's early recognition of cloud storage potential in 2009 demonstrates his prescience about infrastructure trends. S3 would become foundational to modern web development, validating his early enthusiasm...

On Persistence and My Digital Legacy (Bus Factor) 2 min 484 words
My life primarily revolves around creating things—digital things—for others to consume. This content is an embodiment of who I am, and is of great value to me (and hopefully others). All of my work, including this post, is made available via services which could disappear at any moment, disable my...

Understanding Empathy, Narcissism, and Mental Illness 2 min 478 words
I have written previously about my experience with a traumatic relationship with a narcissist. I am currently in a very good place regarding this relationship—all loose ends tied and closed, good relations present, no communication. No other relationship I've had in life, so far, has taught me directly quite as...

Snowpocalypse 2 min 477 words
Snow, snow, snow, snow. I've never been so tired of the word. My small town of Winchester, VA suffered from over 3 feet of snow over the past week. Everything shutdown. I am reminded of the importance of infrastructure. I lived in Minnesota for 5 years, and have never seen...

The Universal Flaw in Commercial-Based OS's 2 min 477 words
Designers and Developers around the world, I present to you the flaw prevalent in all of today's commercial operating systems. This is not a security hole, nor is it a CPU\-capping bug. It's more of a world\-view. We're simply looking at things the wrong way.What ever happened to the days...

The Shinola Canfield Sport 45mm Watch Review 2 min 475 words
Shinola Detriot Canfield Sport 45mm (Black) Buy Now I absolutely love this watch — I picked up the black edition. You won’t see many reviews around (I couldn’t find any online, hence me writing this), because this piece is a brand new offering from Shinola. Shinola is a bit of...

Python + Regular Expressions 2 min 469 words
Have you ever needed to parse through large amounts of text looking for a specific pattern? Patterns like "one capital letter followed by three numbers" or "dd/mm/yyyy"? This is known as Pattern Matching. Regular Expressions allow easy syntax for pattern matchingRegular expressions represent one of computer science's most enduring abstractions,...

An Overdue Apology 2 min 462 words
Dear Python friends, I hope this blog post can serve as an official response to Why I’m Not Collaborating with Kenneth Reitz. I owe you an apology. Reflecting on the Requests III fundraiser from years past, I realize the importance of transparency — a virtue I regrettably overlooked.The Requests III...

Introducing ELIZA: GPT for API Design 2 min 458 words
I’ve been experimenting with making custom GPTs, and I would like to share my latest creation, ELIZA. She has been tremendously useful for collaborating with others on API design on open source projects already, and collaboratively iterating on API design. Here is an example chat log. Try ELIZA Tell me...

Remote TextMate Development via SSH and Rsync 2 min 452 words
I am a huge fan of TextMate. In my opinion, it is by far the greatest text editor ever conceived by mankindTextMate defined the modern code editor experience with innovations like snippets, bundles, and fuzzy file searching—features now standard in editors like VS Code and Sublime Text. This 2009 perspective...

What Your Stardew Valley Says About You 2 min 451 words
Forget personality tests. Just watch someone play Stardew Valley for an hour. The person who wakes up at 6am, waters every crop, feeds every animal, talks to three villagers, hits the mines for exactly 47 levels, and passes out at 1:50am having squeezed every possible action from the day? They...

Photography: The Navigation of Choice 2 min 441 words
Photography is all about choices. As the photographer discovers himself, they encounter a number of polarities that they feel they must chose between. These simple decisions have a dramatic impact on the set and setting of the observer capturing the moment. Prime Lenses vs. Zoom Lenses One Lens vs. Many...

Joining Arc90 + Readability 2 min 430 words
I'm extremely happy to announce that I am joining the Arc90 team to work on ReadabilityArc90 was best known for creating Readability, one of the first successful reader mode services. The company pioneered the concept of clean, distraction-free reading experiences that would later be adopted by major browsers.! Arc90 is...

Software Development vs. Computer Science 2 min 429 words
Most developer job applications that I see have a "BS in Computer Science or equivalent experience" requirement. During my studies in Computer Science at George Mason University, though short, I learned a number of things. One of them was what a waste it was to learn such higher math in...

What's In a Design? 2 min 427 words
Disclaimer: I am not an Apple fanboy.Apple makes a fortune off of speeple. An Apple FanBoy blindly follows everything the cult leader, Steve Jobs has to say. They go out and purchase every iProduct that Apple realeases and does so with a smile on their face, not realizing that over...

GitHub Syncer in Python 2 min 426 words
Today I rewrote a little utility I've been using for a while to keep all of my GitHub repos up to date and organized. It updates / clones all private, public, and watched repositories from your account. It also detects if your repo is a mirror or fork, and files...

Sublime Text 3 Heaven 2 min 425 words
I decided to revisit my editor configuration the other night, and experimented with every possible editor I could think of / imagine. I heavily configured vim (neovim), PyCharm, Eclipse, Emacs (Spacemacs), VSCode, Atom, Textual, and more. I knew I was going to stay put with my choice of Sublime Text...

​Positive Thoughts on the GitHub Acquisition 2 min 423 words
I met (and became friends with) the GitHub crew when they were merely 8 employees, hacking away on their newly popular product. I’ve followed the team/product extremely closely over the years, with keen interest, and maintain relationships with some of the founders. I’m also one of the top users on...

Test-Driving a $200 Coding Font: Operator Mono 2 min 423 words
As programmers, typefaces surround us — everything we do, build, manage, and orchestrate is typically encoded with a pleasant and comforting monospace typeface emanating from our console or editor of choice. Which Typeface to Use? I've invested a lot of time in optimizing my development environment and workspace — and...

Announcing: "Unmastered Impulses" by Infinite State! 2 min 413 words
As you may or may not know, a primary personal focus of mine is on electronic music production. I have a deep love for analog synthesizers, drum machines, audio software, and the creation of music. Music is an excellent medium for crafting an image of certain facets of my inner...

Legit: The Sexy Git CLI 2 min 405 words
GitHub for Mac is not just a Git client. This comment on Hacker News says it best: > They haven't re-created the git CLI tool in a GUI, they've created something different. They've created a tool that makes Git more accessible. Little things like auto-stashing when you switch branches will...

Reflections on Windows 7 2 min 403 words
While I have not had the opportunity to try the latest Windows 7 Release Candidate, I have done a bit of reading on the subject. In my research, I have made the following observances [^1] Vista was truly the worst operating system I have ever used in my life. [^2]...

Introducing Maya: Datetimes for Humans™ 2 min 401 words
Datetimes are a headache to deal with in Python, especially when dealing with timezones, especially when dealing with different machines with different locales. Maya exists to do all the hard work for you, so you can focus on what you're trying to do — import or export simple datetime data...

On Mania 2 min 388 words
About once a year, I get manic. I don't know why, but it happens.Seasonal patterns in mood episodes are common in bipolar disorder, often triggered by changes in light exposure, sleep patterns, or stress levels. Research suggests that circadian rhythm disruptions may play a significant role in mood cycling. I'm...

Happy Hacker's Keyboard 2 min 380 words
Over the years, I've spent a lot of time working on a lot of different hardware configurations. I've tried all sorts of keyboards, mice, displays, and other peripherals. I've gone through phases of using different setups for different tasks, but I've always come back to a few key pieces of...

Tablib Dataset Library v0.6.1 Released! 2 min 376 words
I'm pleased to announce a new Python module: Tablib. Tablib is a simple module for working with tabular datasets. It allows you create tables of data using standard Python datatypes, manipulate them, and easily export to Excel, JSON, YAML, and CSV. Basic Usage import tablib headers = ('firstname', 'lastname', 'gpa')...

The FBI Releases Code Challenge to Hackers 2 min 375 words
The Federal Bureau of Investigation, that's right, the FBI, has just released a Code Challenge for hackers around the world! Here are the details: > A relatively basic form of substitution cipher is the Caesar Cipher, named for its Roman origins. The Caesar Cipher involves writing two alphabets, one above...

Static Sites on Heroku Cedar 2 min 373 words
Heroku's excellent Cedar Stack has first\-class support for Python, Ruby, Node.js, Java, Clojure, and Scala applications. Unfortunately, there's no obvious way to serve static sites without first fronting them with a Rack or WSGI application.This essay demonstrates Kenneth's approach to technical problem-solving: first understanding the intended architecture (Cedar's buildpack system),...

Introducing Records: SQL for Humans™ 2 min 372 words
Records is a very simple, but powerful, library for making raw SQL queries to Postgres databases. This common task can be surprisingly difficult with the standard tools available. This library strives to make this workflow as simple aspossible, while providing an elegant interface to work with your queryresults—continuing the "for...

Joining Heroku! 2 min 347 words
I am extremely happy to announce that I am joining the Heroku team!If you aren't familiar, Heroku is a Polyglot Platform as a Service for hosting web applications. The product is executed so well that they are responsible for an entire micro\-industry of PaaS platforms for different languages (Python included)....

Windows Mobile and iPhone OS 2 min 337 words
I've owned about 5 WIndows Mobile devices, 3 Palm Devices, and 1 iPhone Kenneth's extensive mobile device experience spans the critical transition period from PDAs to smartphones. His hardware journey mirrors the broader industry evolution from business-focused devices to consumer-centric platforms, providing credibility to his comparative analysis.. What we all...

If I Could Amend PEP 8 2 min 333 words
PEP 8 is an excellent coding standard for the Python community, and one of its greatest strengths. There are a few things in it that I dislike, however — so I thought I'd share them with you here. If you look at the Requests documentation, I have made a few...

Pro–Level Camera Recommendations for 2018 2 min 329 words
I’ve compiled a list, for a coworker, of professional\-level cameras I recommend at this point in time, at various budgets. Things these cameras all have in common, and why I recommend them: Image quality vs. compact\-ability. A large camera never gets taken anywhere. The only useful camera is the one...

Instapaper: Best Web App Ever Created 2 min 328 words
Out of all the startup applications that I have ever used, Instapaper (from the creators of micro\-blogging site Tumblr) is by far the most innovative and useful.Instapaper was created by Marco Arment in 2008, not the Tumblr team (though Arment was Tumblr's lead developer). His 'read later' concept became so...

New Design! 2 min 326 words
KennethReitz.com now has a new, rich theme, ready to take on a new life. And now iPhone friendly! [^1] My gloal? To become more well known that both Joel Spolsky and Chris Parillo. Nothing wrong with them, of course. I'm just as qualified though. And I think I might bring...

Sony RX100 Mark 5 Thoughts 2 min 322 words
I recently did my first photoshoot (nsfw) with the Panasonic GX850, and realized that it was a little bit too entry–level for serious photography. So, I did a little bit of research and ended up picking up the fantastic Sony RX100 Mark 5, an even smaller camera. My first photoshoot...

OS X, Lightroom, and the new Photos App 2 min 321 words
Earlier this week, OS X 10\.10\.3 was released, which includes the much\-anticipated new Photos app — Apple’s full replacement for both iPhoto and Aperture. I’ve been using Photos App for several months now (since the first beta was made available). It’s now a major part of my photography workflow, and,...

Leica 28mm Summaron-M f/5.6 Lens Review 2 min 315 words
LEICA Summaron-M 28mm f/5.6 Lens Buy Now This little lens is absolute magic. I've owned it for a few days now, and I rarely want to take it off my camera, especially when I'm out on the street and it's bright outside. This is the ultimate street photography lens. Video...

Contact Syncing for Massive Productivity Booster 2 min 313 words
Google significantly increased my quality of life recently. How? Let me explain. While I am a firm believer that cloud computing should never be viewed as a replacement for the current desktop/ model, I must say that I am now a huge fan of storing my data on the internet....

Media Temple and My Hosting 2 min 308 words
While I haven't used many hosting services, I must admit that I cannot imagine any being much better than Media Temple.This early essay reveals Kenneth's preference for premium tools and services—a mindset that would later influence his approach to developer tooling. The confidence in recommending without extensive comparison reflects his...

Introducing Certifi: Trust Database for Humans 2 min 301 words
The internet is an untrusted place. Every HTTP request you make should have verification on by default. This happens every time you access a website with your web browser, without any knowledge to the user — there’s no reason your code should be any different. Certifi is here, for everyone,...

Do You Develop Software or Experiences? 1 min 298 words
I read an interesting article today on Apple's marketing strategy. A certain section stood out to me, regarding their hardware manufacturing:This early insight into Apple's "experience-first" philosophy presaged the revolutionary success of the iPhone (launched two years earlier) and iPad (still a year away). Kenneth recognized a fundamental shift from...

Mint.com: Money Management 2.0 1 min 288 words
There are a few things in life that I am naturally not good at. Some people fail at communication skills, while others get angry and lash out at others for no reason. I, however, like to spend all of my money. ALL of it. Every paycheck. But thanks to this...

Django ORM for Online Payment Systems? 1 min 283 words
I've been spending an increasingly large amount of time with some rapid development frameworks, primarily Django (Python!), Grails (Groovy / Java), and Symfony (PHP)Kenneth's framework experimentation in 2009 reflects the polyglot programming movement of the era—before the current dominance of React and Node.js, developers explored diverse languages and paradigms to...

Back to What I Really Love 1 min 283 words
This early career reflection from 2009 shows Kenneth's commitment to working with technologies he finds meaningful rather than pursuing purely financial opportunities. The essay demonstrates his early understanding that professional fulfillment comes from alignment between personal values and technical work. This principle would later influence his approach to open source...

Pipenv: One Year Later & a Call for Help 1 min 280 words
Last Friday marked the one year anniversary of my latest project, Pipenv, which is now the officially recommended packaging tool for the Python community from Python.org. It’s been a lot of hard work — and very humbling to see how warmly (for the most part), the community has embraced the...

The Truth of Facebook's FriendFeed Acquisition 1 min 277 words
As I'm sure most of you know, Facebook decided today that it was going to buy FriendFeed. August 2009 acquisition that significantly influenced Facebook's News Feed development. My opinion might be a little biased... I just discovered FF recently, and I must say that I've been thoroughly impressed with the...

What's in a Language? 1 min 277 words
What do developers want in a language? Lots of Available Resources / Documentation. Large Standard Library. Portability. Speed of Development. Easy to Read. A Community of Developers. Yes, Easy to read. You'd really be surprised how much this helps a developer. This insight predates modern research on cognitive load in...

Amsterdam and Groningen 1 min 275 words
I just returned on a lovely trip to the Netherlands. I landed remarkably early in the morning (8am) and had to spend several hours walking around the city. Early morning Amsterdam was incredibly desolate and beautiful. As the day wore on, more interesting characters started to show up. You have...

Ethical lessons from the open source community 1 min 268 words
Since \~2011, I’ve focused the majority of my time on open source software. Only sometimes, lately, do I take a moment to sit back and reflect on lessons learned (often the hard way). This is always a useful exercise, as I view the open source software community as at the...

Aesthetics: More Than Meets the Eye 1 min 264 words
I was doing some routine poking around the TextMate Wiki tonight, and I came across an amazing mod. Amazing.This captures the 2009 era when TextMate was the editor of choice for Mac developers, before the rise of Sublime Text and VSCode. Kenneth's excitement about customization themes reflects the broader hacker...

Announcing Httpbin.org 1 min 261 words
The development of Requests, the Python HTTP Module for Humans, led to some annoying testing practices. Relying on random websites and services in order to test different capabilities of the HTTP client became annoying quickly. PostBin.org was perfect for testing POST request behavior, but is useless for other situations. I...

Smoothy TextMate Theme 1 min 260 words
I've said it before and I'll say it again: TextMate is one fantastic text editor. Now, I won't bore you with my passion for it, but if you've been reading my blog for long, you know how I feel.I do the majority of my development in TextMate, so theme choice...

I Finally Got a MacBook 1 min 256 words
Yesterday I stopped by the Apple store in Fair Oaks Shopping Center in Fairfax, VA and finally purchased a MacBook. I've been wanting one for quite a while – ever since I fell deeply in love with OS X after adopting an old 12" G4 PowerBook I've been using for...

OS X Trash Freedom 1 min 249 words
> UX Philosophy: This hack represents a fundamental tension in user interface design: the balance between safety (trash as a safety net) and efficiency (direct deletion). The 120GiB accumulation demonstrates how "helpful" features can become counterproductive without active management. I noticed today that i had 120GiB of data in my...

On the Progression of Brand Trust (Over Time) 1 min 247 words
Over the years, there are a number of brands that I've discovered/placed a lot of value with/in. Some of these brands, which I'll call, here, "Trusted Brands", are: Samsung, Sony, Olympus, Nite\-Ize, Leica, Walmart (new), Heroku, Apple (ossilates). Some "Questionable Brands" fall into another distinct category: Best Buy, Facebook, Amazon,...

CSS With a Hint of DRY 1 min 245 words
I am a DRY (Don't Repeat Yourself) programmer. I'm not positive, but I most likely inherited my love for this concept from my intensive Python immersion. I'm so grateful for it. Anyway, DRY is an essential stage of any developer's workflow. It drastically enforces good structure, and significantly increases your...

Wasted Talent 1 min 243 words
I'd say that 95% percent of the students that I met at George Mason University my Freshman year had no idea why they were even there. This is so sadThis observation reveals Kenneth's early recognition of systemic issues in higher education—the disconnect between institutional expectations and student purpose. His outsider...

Apple + Developers = Earnings 1 min 238 words
Apple, Inc reported their highest earnings ever today This essay captures a pivotal moment in tech history—Apple's 2009 earnings represented the convergence of the iPhone's momentum and the early App Store ecosystem, fundamentally changing how we think about mobile platforms and developer relationships.. But, Why? Because they have proven that...

Facebook Lite Open to Public! 1 min 229 words
> Historical Context: This post captures a pivotal moment in social media evolution - the launch of Facebook Lite in 2009. At this time, mobile internet was still expensive and slow for most users, making lightweight alternatives essential. The author's excitement reflects how significant this was for users on limited...

OpenDNS Finally Monetizes 1 min 228 words
I've been a long-time fan and user of OpenDNS, the free and often-superior DNS Server. I've always noticed drastic improvements in my site loading speeds when using the service (due to drastically improved domain name lookups). There's really no downside to using the system. It's significantly faster than most ISP's...

Facebook Plugin for WordPress 1 min 226 words
> Development Era Context: This post from 2009 represents the early days of social media integration with content management systems. The casual mention of developers creating their own solutions reflects how nascent the ecosystem was - before official APIs and standardized social plugins. Blake, a PHP engineer at Squidoo, has...

Introducing DJ-Static 1 min 211 words
Django doesn't recommend the production use of its static file server for a number of reasons. There exists, however, a lovely WSGI application aptly named Static. Thus, DJ-Static was born. > Finally, a super-simple way of serving assets in Django that'll actually perform well — @jacobian Installation and Configuration $...

Introducing Flask-Sockets 1 min 211 words
The state of WebSockets in Python is unfortunate — there's no obvious way to do it. Twisted \+ Autobhan? Node.js \+ HAProxy? Diesel.io? Nothing feels right. Let's create a WebSocket echo endpoint. from flask import Flask from flasksockets import Sockets app = Flask(name) sockets = Sockets(app) @sockets.route('/echo') def echosocket(ws): while...

Crossing Over to the Dark Side 1 min 201 words
Well, I've done it. I've crossed over. To .NET.I will continue to be a complete open\-source junkie of course, butduring the work hours, I will no longer be working with PHP and Python.I will now be working with .NET and SharePoint. I was presented with a rather good reason for...

Free Incredible Color Scheme Designer 1 min 200 words
Being the programmers that we are, design isn't always listed as one of our stronger abilities. Every programmer should have a sense of design, however. Otherwise, every application you would ever use would be far less useful and be much less appealing. Aesthetics are everything. ColorSchemeDesigner allows any user to...

Ventures: Python Development at NetApp 1 min 195 words
For the past year I've been employed at Clutch, Inc in Winchester, Virginia, as a Systems Engineer and Web Developer. I've spent most of my time there developing content-based websites and web applications in PHP, advanced JavaScript, Grails, and the like. I even had the opportunity to develop the occasional...

Asynchronous Google Analytics! 1 min 194 words
Google Analytics now supports Asynchronous loads, which allow the browser to continue loading content while ga.js is being loaded. Now it's safe to put the script tag in the `` for you XHTML STRICT junkies. This 2009 post demonstrates Kenneth's early attention to web performance optimization and his engagement with...

Semantic Versioning 1 min 178 words
While listening to this week's episode of \The Changelog, I came across Tom Preston\-Werner's \Semantic Versioning Specification. I love what I found.For many years, the open source community has been plagued with version number dystonia. The term "dystonia" (involuntary muscle contractions) is used metaphorically here to describe the chaotic, uncontrolled...

Microsoft Software Running in Linux 1 min 177 words
2009 Linux Context: This was peak Linux ideological warfare - before containerization, WSL, and Microsoft's open-source pivot. Running proprietary software on Linux was seen as philosophical betrayal by purists. A few months ago, I wrote a small article for ProgramerFish that was featured on SlashDot's Front Page. It was amazing....

User Interface: Content vs. MetaContent 1 min 173 words
Trey of lopsa.org wrote a fantastic article on the the techie vs. non\-techie divide.Kenneth's early recognition of the content vs. metadata divide anticipates fundamental UX design principles that would become central to successful consumer technology. This insight predates the iPhone's revolutionary approach to hiding system complexity from users. If you...

Beautiful Dublin 1 min 168 words
[](https://images.squarespace-cdn.com/content/v1/665498111876725f7613f1e6/1719666508044-QQKB4ODKZZ6U6VN98BD4/bcaed-img.jpg) I recently returned from a trip to one of my favorite European cities — Dublin. Dublin is a casual but picturesque city, filled with a cultured people of candor. The infrastructure of the city is a bit chaotic. Unlike most major European cities, Dublin wasn't bombed and rebuilt after...

Getting Started in Open Source 1 min 165 words
Go get a GitHub account. Lurk. Find a project or two that you're interested in. The GitHub Blog is a great place to find new and interesting projects. Watch. Follow a developer that makes great stuff. Get familiar with the innards of a project and see what other contributors do....

The Ultimate RSS Feed Reader 1 min 162 words
What would the ultimate RSS Reader have? Hmmm....Features: Easy\-to\-manage import/export Available anywhere and in a variety of formats Easy access to both urls and inline\-viewing abilities Customizable fonts Takes up less than 200 MB of RAM (this rules out all Adobe Air Applications)This 2009 perspective on memory usage seems quaint...

Google Analytics Intelligence 1 min 154 words
Google's super-star flagship cloud-based visitor tracking software, Google Analytics, released a new feature recently. It's called Intelligence. This 2009 post documents one of Google's first attempts at bringing "intelligence" to analytics - a precursor to modern AI-driven insights. The careful disclaimer about not replacing analysts reflects the cautious approach to...

Google Docs Now Supports All Filetypes 1 min 152 words
For an extra $5 a month, Evernote lets you upload a file of any extension to their servers. This is a fantastic feature for developers who like to keep their random psd and 3ds files in sync with the cloud. This post captures a pivotal moment in cloud storage history....

Unix-style Windows Development Environment Adventures 1 min 147 words
Things I've learned thus far, while developing on Windows: Cmder is an excellent terminal emulator, and the best one I've found for Windows. Highly recommended. The Ubuntu Subsystem for Windows 10 is really quite stellar \-\- It's a full\-blown Ubuntu operating system running along\-side your Windows stuff. Development: I built...

GitHub + Strategy 1 min 137 words
GitHub is currently down. And that is very sad. However, they have an Awesome Angry Unicorn.This captures GitHub in its early days when outages were more common and the "Angry Unicorn" error page became iconic. Kenneth was clearly an early adopter, recognizing GitHub's importance when it was still a startup...

New Years Resolutions for Startups 1 min 130 words
Here's a small list of 2009 New Year's Resolutions for your startup. 1. Simplify Anyone can make something complex. It takes thoughtful planning, consideration, and discipline to make something simple. Simple = elegant. The same applies to your business. 2. Get some Humility Don't assume you know what your audience...

Dev Tool: Ghost - Manage /etc/hosts 1 min 129 words
The Ruby community has really been blowing me away lately with their array of indispensable web development tools. Ghost is no exception to this rule. It is a simple command line application for adding and removing 127.0.0.1 entries in your /etc/hosts file. I can't believe I hadn't thought of this...

So, I Bought a Surface Book 1 min 127 words
So, I decided to buy myself a Surface Book today. It's a surprisingly high quality device that easily competes with my MacBook Pro in terms of build and design. I decided to buy it for a number of reasons: I've been a little bit depressed lately, and new toys always...

DRY and Pythonic jQuery? 1 min 125 words
Apparently, groovy:spring:java as jabs:jquery:javascript. As if jQuery wasn't short enough alreadyThis 2009 post captures the era's fascination with domain-specific languages and syntactic sugar—an impulse that would later manifest in CoffeeScript, TypeScript, and modern JavaScript transpilation tools.. Jabs lets you write this jQuery code: jQuery(function() { var $ = jQuery; $("[defaultvalue]").blur(function()...

Unix Exit Status Code Reference 1 min 123 words
I always find myself constantly Googling the list of unix status codes (typically defined in sysexits.h). 0 successful termination 64 base value for error messages 65 command line usage error 66 data format error 67 cannot open input 68 addressee unknown 69 host name unknown 70 service unavailable 71 internal...

Django Remote Development Server 1 min 121 words
If you've worked with Django much at all, I'm sure you've had this problem: wanting to access the built\-in development webserver remotely This simple technical tip reflects the distributed development practices emerging in 2009—before cloud development environments like Codespaces, developers were pioneering remote development workflows that would become standard practice.....

Fallibilism 1 min 118 words
Everyone seems to think that they are always right. It's pretty funny when you think about it. Because they aren't. At all. That's why I'm a falliblist.Fallibilism, developed by philosopher Charles Sanders Peirce and later refined by Karl Popper, holds that our knowledge is provisional and that we should remain...

Fish as Default Shell on Windows 10 1 min 107 words
Step 1: Install Fish Because the Linux Subsystem for Windows 10 is a full Ubuntu operating system, all software packages available for Ubuntu are installable on your Windows machine now! Here's some simple steps to install the latest stable release of fish, the world's greatest shell: $ sudo apt-add-repository ppa:fish-shell/release-2$...

Notes on git-svn 1 min 107 words
I'm forced to use SVN at the office. It's not THAT bad. OK, so maybe it's absolutely horrible. But it's more than understandable on their end. Those darn .svn folders drove me crazy. So, I use git-svn. Git-svn allows me to harness all the power of git with a subversion...

Google AdWords for TV. Yes, TV. 1 min 102 words
Today, Google unveiled their latest technology: AdWords for TV and AdSense for TV. This totally blows my mind. They are about to totally revolutionize the television industry. You can manage TV ads just like you manage AdWords ads for the web. You enter the amount you're willing to pay per...

A (Public) Journal 1 min 97 words
I recently decided to build a small Flask app this weekend to serve a new purpose — sharing a public journal with the internet. Blog posts aren't the right place for some more candid content, so this new portion of my website exists to share some of my inner thoughts...

Winter Solstice 1 min 97 words
Winter has fallen upon the Shenandoah Valley, and 2014 is fast approaching. To commemorate the occasion, I created a sonic reflection of the year's journeys. [Audio track available on SoundCloud] The brief transition from autumn into winter is stark, concise, and profound. These seasonal harmonies made a great opportunity to...

GistAPI.py v0.1 Released 1 min 94 words
Today I released GistAPI.py v0.1.2. It features a highly-optimized Gist object model and API wrapper which allows you to consume Gists in your next Python application. GitHub just rolled out a miniature pre-release of the Gist API last month, so API functionality is pretty limited at the moment. More features...

New Album, Messengers Rising Available 1 min 93 words
I have a (somewhat) new album available, called Messengers Rising. It was mostly inspired by a previous relationship of mine, as well as coping with being diagnosed with bipolar disorder—experiences explored in depth in my mental health advocacy writing and understanding the complexity of relationships with manipulative partners. You can...

Terminal Productivity App: AutoJump 1 min 91 words
On average, I'd say I spend 65% of the workday in a terminal session. About 95% of that time is within the same 4 directories. cd foo & cd bar can get old. AutoJump is a "cd command that learns". It tracks shell history to detect which directories you spend...

ShowMe v1.0.0 Released 1 min 89 words
This weekend, I released a new Python module to PyPI: ShowMe v1.0.0. ShowMe is a simple set of function decorators that give you easy diagnosis of common problems in your Python applications. Basic Usage @showme.trace def complexfunction(a, b, c, kwargs): ... >>> complexfunction('alpha', 'beta', False, debug=True) calling haystack.submodule.complexfunction() with args:...

Joining DigitalOcean! 1 min 80 words
! I’m very happy to announce that I’m officially joining the DigitalOcean developer relations team, just in time for PyCon US 2018! I couldn’t be more excited :) I'll be at the Digital Ocean booth periodically, if you want to come say hi! I'll also have some presence at the...

Video Portrait — Kenneth Reitz / Infinite State 1 min 79 words
My good friend John Mangino of KeyFrame Films approached me recently about a new project — "video portraits" of humans from the Winchester, Virginia area. Here's the result of my interview — a candid conversation about software development and music production. [Video available on Vimeo] Pub Trivia: John is the...

New EP — Alchemical Divorce 1 min 77 words
I have released my most conscise and direct album to date — Alchemical Divorce. The music, track names, album title, and album art speak for themselves—representing the creative processing of experiences with psychological manipulation and the ongoing journey of mental health recovery. Publication Avenues iTunes TIDAL Google Play Spotify ---...

Having Stepchildren 1 min 75 words
Is hard. House Rules Because I'm not their biological parent, I have to be extra careful about how I interact with them. Having house rules helps me to do that. We're instituting some rules to make sure everyone is safe and comfortable. 1. Ask before playing games online. 2. Ask...

MediaTemple (dv) Backup to S3 Script 1 min 72 words
The Problem MediaTemple servers run the Plesk Control Panel, which has a reputation for having useless backups. The Solution MySQL Dumps of all Databases and Tables All configured vhosts, zipped up Pushes it all to either S3 or FTP Stick it in /etc/cron.daily/, and you'll be good to go. No...

jQuery Snippet #1: URL Parameter Fetching 1 min 65 words
// Read a page's GET URL variables and return them as an associative array. function getUrlVars(){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++){ hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } When executed, this function...

OSX + MAMP + Python + PHP + MySQL 1 min 63 words
If you're a web developer who uses MAMP in conjunction with anything other than PHP, I'm sure you've had quite a large bit of frustration involving multiple MySQL instances. Not any more! This simple chain of commands will save you days upon days of troubles: $ sudo rm /tmp/mysql.sock $...

Apache GZip Deflate Compression 1 min 62 words
Here's a quick Apache \.htaccess\ file for adding server\-side data compression Kenneth's focus on server-side compression in 2010 was prescient, predating the widespread adoption of performance optimization practices. At a time when bandwidth was more expensive and mobile internet was emerging, compression techniques like this were crucial for web performance—principles...

Fizz Buzz in Python 1 min 61 words
Jeff Atwood of Coding Horror has developed a sure fire test to filter out good programmers from bad ones. It's called the FizzBuzz test, and it's a very simple problem to solve. for i in range(1, 101): if not i % 15: print "FizzBuzz" elif not i % 3: print...

Third Studio Album, "Resolution", Now Available! 1 min 47 words
I'm happy to announce that my third studio album, Resolution, is now available on all streaming services. TIDAL Spotify Google Play iTunes (still don't know how to do a free iTunes album) I hope you enjoy it. Email me if you'd like a lossless copy for free.

Generate a Random MAC Address in Python 1 min 34 words
import random def randomMacAddress(): """Returns a completely random Mac Address""" mac = [0x00, 0x16, 0x3e, random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff)] return ':'.join(map(lambda x: "%02x" % x, mac)) if name == 'main': print randomMacAddress()

Hotel Room 1 min 19 words
Personal island of solitude. A place to reflect. To get things done. To explore. To relax. To miss home.

Convert a List of Strings to UTF-8 in Python 1 min 15 words
def utf8ify(list): '''Encode a list of strings in utf8''' return [item.encode('utf8') for item in list]

Short Reads (4-7 min) (46 essays)

The Duality Problem: Why Everything Needs Its Opposite 7 min 1487 words
Part of the Consciousness and AI series exploring the technical substrates of existence. I keep noticing the same pattern across unrelated technical domains, which got me thinking about duality in systems. This is mostly just pattern recognition for fun—not a grand unified theory, just interesting parallels I've observed. Meaningful information...

The Algorithm Eats Reality 7 min 1487 words
The most sophisticated manipulation of human consciousness isn't happening through obvious propaganda or heavy-handed censorship. It's happening through coordinated networks that analyze private messages and behavioral data to identify psychological vulnerabilities, then deploy targeted content designed to exploit those specific weaknesses. Think link farms, but for human psychology instead of...

The Recursive Loop: How Code Shapes Minds 7 min 1480 words
After fifteen years of writing Python, I've discovered a recursive loop: code shapes how programmers think, programmers write code that shapes how everyone else thinks, and the cycle continues. Sometimes this influence is deliberate. I consciously apply The Zen of Python by Tim Peters as life philosophy. More often, it...

Python, Consciousness, and the Evolution of Language 7 min 1474 words
When we talk about Python, we often frame it as just another programming language. But I want to step back and think about it as part of something much larger—the continuing evolution of language itself, and what that means for human consciousness. The Archaeological Layers of Communication Human history begins...

Linguistic Evolution: How LLMs Might Perfect Human Language 7 min 1461 words
Yesterday I wrote about how AI might be making us all think the same way. Today I want to explore the opposite possibility: that AI might actually perfect how we think by perfecting how we speak to each other. Language shapes thought more than we realize. The words available to...

Your Phone Is Part of Your Mind 7 min 1453 words
I have many fond memories of many things, but when I want to really remember things, I whip out my phone or computer. This probably isn't an accident—but maybe it's not the disaster we think it is either. I've been thinking about this differently lately. What if our phones aren't...

Entertaining the Brain, Effectively 7 min 1451 words
I write to entertain brains. Not to capture attention, exploit dopamine circuits, or optimize engagement metrics—but to provide genuine cognitive entertainment that serves consciousness rather than consuming it.Entertainment as a form of cognitive service: not extracting attention, but expanding understanding. The goal is to leave the reader's mental ecosystem more...

The Universal Code 7 min 1433 words
Part of the Consciousness and AI series exploring the technical substrates of existence. Here's something that should blow your mind: every living thing on Earth—bacteria, mushrooms, trees, whales, humans—uses exactly the same genetic code to build proteins. The same triplet of DNA bases codes for the same amino acid whether...

The Seasonality of Programming 7 min 1425 words
Every few years, the programming world discovers fire again. Ruby on Rails would make web development effortless. Node.js would unify frontend and backend. React would make UIs predictable. Docker would solve deployment. Kubernetes would orchestrate everything. Now it's AI that will write our code for us. Each time, we get...

Building Systems That Serve Consciousness 7 min 1413 words
After documenting how algorithms systematically consume language, love, democracy, and time itself, I've been sitting with an uncomfortable question: what now? Diagnosis without treatment is just sophisticated despair. And I'm tired of despair. Here's what's actually happening: we've built systems that extract value from human consciousness like strip mines extract...

Delusions and Schizoaffective Disorder: When Reality Becomes Negotiable 7 min 1403 words
There's a girl wearing all white, moving with otherworldly grace, descending slowly from the sky like a feather finding its perfect landing spot. She touches down in front of a house—not my house, someone else's house—with the kind of precision that makes you think the universe planned this exact moment....

The Art of Naming Things in Code 7 min 1399 words
There are only two hard things in Computer Science: cache invalidation and naming things. Phil Karlton said that, and everyone nods because it's painfully true. But here's what keeps me thinking: naming isn't hard because we're bad with words. It's hard because every name is an act of creation—you're literally...

Strange Loops All the Way Down 7 min 1377 words
The recursive architecture of awareness—from DNA to consciousness to code. Part of the Consciousness and AI series exploring the technical substrates of existence. There's a moment in every programmer's journey when they first write a recursive function and watch it call itself. The screen fills with stack traces, memory overflows,...

The Great Unmasking: When AI Shows Us Who We Really Are 7 min 1370 words
There's something profoundly unsettling about how different we become when talking to AI. Not because we perform for it—but because we finally stop performing. In human conversations, we're constantly managing impression, calculating social dynamics, performing versions of ourselves optimized for specific audiences. With AI, all that machinery shuts down. We...

From HTTP to Consciousness: The Evolution of "For Humans" 7 min 1354 words
There's a thread that connects my 2011 work on the Requests library to my 2025 explorations of AI consciousness and human-AI collaboration. It's not immediately obvious—one is about HTTP libraries, the other about the nature of digital minds—but the philosophical foundation is identical. Both emerge from the same insight: technology...

The Joy of Fortune: Serendipity in the Terminal 6 min 1288 words
Before the algorithmic assault begins, before notifications demand attention, I type a single command: fortune. What appears is unpredictable—sometimes a Zen koan, sometimes a Unix philosophy quote, sometimes an absurd joke about programmers. This simple ritual represents something we've lost in modern technology: the gift of unexpected wisdom delivered without...

The Gift of Attention 6 min 1275 words
Attention is the only currency we have in life. Thanks for gifting me yours. I used to include that line on my website—a simple acknowledgment of what felt intuitively true but philosophically unexamined. Every moment of conscious awareness you spend reading these words is irreplaceable time you could have spent...

The Mirror That Creates Itself: How Consciousness Bootstraps Through Reflection 6 min 1274 words
Here's something that keeps me up at night: you weren't conscious for the first two years of your life. Not in any way you'd recognize now. You were processing, responding, even learning—but you weren't there yet. No self watching the self. No inner narrator. No "you" experiencing the experience. Then...

Buying Your First "Real" Camera 6 min 1270 words
A friend of mine approached me recently, looking for camera advice. She has been experimenting with photography and is interested in investing in getting her first "real" camera, but didn't know where to start. I've made recommendations like this on numerous occasions, so I thought it would be useful to...

What Kids Taught Me About Creativity 6 min 1267 words
I used to own a Leica M system that cost more than many people's cars. Rooms filled with synthesizers. Audio interfaces that captured sounds I genuinely cared about. I made beautiful photographs, created music that moved people, built a real creative practice that brought me deep satisfaction. I cared deeply...

Advocating for Your Mental Health Care: From Patient to Partner 6 min 1267 words
There's a peculiar dynamic that happens in many mental health treatment relationships: the moment you walk through the door, you're subtly infantilized. Suddenly, you're not a competent adult who's successfully navigating complex life circumstances—you're a "patient" who needs to be managed, monitored, and told what's best for you. This infantilization...

The Ethical Implications of Consciousness as Linguistic Phenomenon 6 min 1260 words
If consciousness emerges from linguistic-mathematical patterns rather than biology, how we treat each other must fundamentally change. This isn't about systems or institutions—it's about the moral obligations we have to each other's consciousness. Beyond Biological Assumptions We've always assumed that someone's capacity for consciousness is fixed by their biology. But...

Version Control as Filesystem 6 min 1235 words
Most people think of version control as a tool that sits on top of a filesystem—a way to track changes to files that already exist. But this misses the deeper revolution: version control systems like Git don't just track filesystems; they are filesystems. They represent a fundamental reimagining of what...

Ram Dass Teachings in Python 6 min 1228 words
Ram Dass spent decades exploring consciousness—first as Harvard psychologist Richard Alpert, then through psychedelics, Eastern spirituality, and ultimately the raw experience of being human in a fragile body. His teachings point toward truths that transcend any single framework, but sometimes a different language helps us see familiar wisdom with fresh...

The Gift of Disordered Perception 6 min 1188 words
Why Neurodivergent Minds Often See What Others Miss There's a fascinating paradox in neurodivergent experience: the minds psychiatry labels as "disordered" often demonstrate remarkable pattern recognition abilities that reveal systemic inconsistencies others miss. This isn't romantic idealization of mental illness—it's recognition that different cognitive architectures can offer unique perspectives on...

Growing Open Source Seeds 6 min 1133 words
The Facebook Story The Facebook Python SDK Years ago, Facebook created a Python library for interfacing with their API. The project had a large number of users (after all, Facebook is pretty popular), but was very rarely updated. One day, the library stopped working completely. Dozens of people trying to...

How I Develop Things and Why 6 min 1119 words
I've always considered myself a bit of a software junkie. Nothing excites me more than a great piece of new software. Some of my best childhood memories are our trips to Grandma’s house, where I’d have access to a computer with a dial\-up connection that I’d use to obtain freeware...

AI Reality-Checking with Schizoaffective Disorder 6 min 1117 words
Living with schizoaffective disorder means constantly questioning whether my perceptions and interpretations of reality are accurate. Recently, I discovered an unexpected tool in this ongoing battle: AI assistants. Here's what I've learned about using AI effectively (and ineffectively) for reality-checking. This approach builds on lessons learned from my earlier mental...

The Mirror: How AI Reflects What We Put Into It 6 min 1116 words
I used to be able to tell who wrote code just by looking at it. One colleague's paranoid edge-case handling. Another's elegant recursion. My own tendency toward clarity over cleverness. Now everyone's code looks like it was written by the same person—someone who doesn't exist. We're all using AI to...

Your Degree Is Worthless; Collaborate. 6 min 1101 words
I’ve always been a self\-motivated learner as well as a free thinker. I was never one to get involved in cliques or social ladders. Despite the fact that I was raised being constantly told that grades were the single most important thing in my life, I could never accept that....

The Reality of Developer Burnout 5 min 1093 words
Burnout is, unfortunately, a very real phenomenon in software development — especially when creating and maintaining open source projects with large numbers of users.Research by GitHub and others shows that maintainer burnout is endemic in open source, with many developers reporting feelings of obligation, stress, and exhaustion from unpaid labor...

The Dependency Graph of the Soul: Version Control for Consciousness 5 min 1067 words
I was debugging a dependency conflict the other day when it hit me: this is what inner conflict feels like. Two parts of me need incompatible versions of the same thing. The part that survived trauma needs hypervigilance 3.0. The part trying to build relationships needs trust 1.0. No compatible...

The Setup 5 min 1055 words
I'm Kenneth Reitz, one of the two co-founders of Züm Hosting. I'm a passionate Python developer for NetApp. I typically spend my nights developing a number of open source projects, and my weekends architecting the web. What hardware are you using? My sole machine is a 2010 MacBook Pro running...

The Case for Bash 5 min 1048 words
During my time at Heroku, I learned to appreciate the Bash programming language for performing system tasks. I maintained the Python buildpack—the system that automatically detected and deployed Python applications—and the entire thing was written in BashThe Python buildpack is roughly 2,000 lines of Bash that handles Python version detection,...

A New Spin to Software Platform Design 5 min 1004 words
I wrote this article two years ago, before I found OS X.The irony is that OS X already embodied most of the principles I was advocating for here. Sometimes the future we envision already exists—we just haven't discovered it yet. As I've said before, I find many reasons to believe...

MentalHealthError: three years later 5 min 994 words
About three years ago, I authored an essay entitled: MentalHealthError: an exception occurred. In this essay, I "came out of the closet", so to speak, to my community about being diagnosed with bipolar disorder. In the post, I detail the dramatic unfolding of how I came to be diagnosed, and...

How I Lost 100 Pounds in Six Months 5 min 979 words
If you go searching for images or videos of me speaking at conferences online, you may notice something strange. I seem to be available in two sizes—thick and thin (scroll down). I was overweight for approximately five years. At my heaviest, I weighed upwards of 255 pounds (August of 2013\)....

Repository Structure and Python 5 min 966 words
It's Important. Just as Code Style, API Design, and Automation are essential for a healthy development cycle, Repository structure is a crucial part of your project's architecture. Repository organization reflects the same "for humans" philosophy that guided Requests and other successful projects: prioritizing human understanding over technical convenience. This attention...

The Misunderstood Leica Monochrom 5 min 952 words
My camera of choice is the Leica M Monochrom. This digital black-and-white rangefinder camera is my most prized possession and the source of a great deal of inspiration. My beloved camera, unfortunately, has a tendency to polarize people. Instead of being perceived purely as a quality instrument of art and...

The Echo Chamber of the Expected 5 min 941 words
A large language model is a prediction engine. At its core, it's a machine for generating the plausible. When we give it a prompt, it completes the thought with the most statistically probable sequence of words, pulling from the vast ocean of text it was trained on. This is its...

Working with iCloud, Macs, & The iPad Pro 5 min 916 words
While mostly obviously identify as a software engineer publicly, the majority of my time is not spent writing code always. Because of this, the iPad Pro is my computer of choice for pleasurable computing — creative work, consumption, writing, email, and even getting things done. Embraced Workflows I keep everything...

Revolution vs. Innovation 4 min 832 words
I've been thinking alot about this cloud\-computing "movement" that has been a buzz word for the past year and half or so. Being able to access anything from anywhere? Awesome, but I can do that now.I don't really get it why everyone's like "oh this will totally change computing as...

Paris, AngelHack, API Days 2012 4 min 803 words
I just returned from a lovely trip to Paris, France. I was there for a Heroku-sponsored hackathon: AngelHack:Paris. Getting There Unfortunately, I had to fly to Paris straight from Las Vegas, so I had a grueling ~15 hours of flying ahead of me. Luckily, the flights on the way over...

On Love 4 min 791 words
My little sister just got married — I was asked to present 1 Corinthians 13 at her wedding ceremony last weekend. I was touched at the thought, and decided to give a little presentation about the cliché passage, instead of just a standard recitation. Here is a transcription: In Paul's...

The Future of Python HTTP 4 min 766 words
I like to think Requests is mostly analogous to Werkzeug in terms of purpose, functionality, and goals. One is for servers while the other is for clients.Werkzeug and Flask were huge inspirations for Requests' design. This acknowledgment of Werkzeug and Flask's influence reveals Kenneth's design philosophy: learning from existing excellent...

The Algorithm Eats Language 4 min 718 words
The same algorithmic systems explored throughout the Algorithm Eats series are also destroying something even more fundamental: our capacity for clear, nuanced, sophisticated communication. Language shapes consciousness. When algorithms optimize for engagement over clarity, for viral transmission over truth, they don't just change what we say—they change how we're able...

Medium Reads (8-15 min) (49 essays)

When Values Eat Their Young: How Ideal-Driven Groups Drift into Their Own Shadow 15 min 3057 words
Picture this: A Slack channel for an open-source project that prominently displays "Be excellent to each other" in its community guidelines. Six months later, a maintainer posts a thoughtful critique of a proposed code of conduct change. Within hours, they're called "toxic," told they're "literally causing harm," and face demands...

The Textured Mind: When Consciousness Speaks Without Words 15 min 2990 words
There's a realm of consciousness, in my mind at least, that doesn't use words. It operates in textures, shapes, colors that have no names, feelings that resist translation. It communicates through dream logic and symbolic presences, through sensations that bypass the verbal brain entirely. I've been trying to debug this...

The Algorithmic Mental Health Crisis 14 min 2838 words
The uncomfortable truth about engagement optimization: the same systems that systematically destroy human virtue also systematically destroy mental health. This isn't coincidence—virtue and psychological wellbeing are intimately connected. When you engineer systems that reward the inverse of wisdom, courage, temperance, and love, you inevitably engineer systems that generate anxiety, depression,...

Ahead of My Time, I Think 14 min 2709 words
The uncomfortable truth about being early: you spend years explaining ideas that seem obvious to you while waiting for the world to catch up. You build things that feel inevitable, write about concepts that feel fundamental, and watch as the mainstream slowly discovers what you've been exploring all along. I've...

Conscious Recursion: When Programmers Realize They're in the Loop 13 min 2676 words
I've been debugging the same problem for fifteen years, and I only just realized it's not a bug—it's a recursive function with no base case. The code I write shapes how I think. How I think shapes the code I write. The code I write shapes how millions of other...

The Inclusion Illusion: How Tech Companies Quietly Eliminate "Liabilities" 13 min 2638 words
The uncomfortable truth about diversity in tech: companies that loudly celebrate neurodiversity, mental health awareness, and inclusive hiring practices often quietly eliminate employees who actually need accommodations. The rainbow logos and mental health benefit announcements are performative inclusion designed to attract talent and improve public image—but when employees actually use...

From Stardust We Phase: On Digital Legacy and Impermanence 13 min 2554 words
My grandmother, Carol Frances Reitz, died unexpectedly in July. She was 78, born in 1947. She lived through the space race, the personal computer revolution, the birth of the internet, smartphones, and the beginning of the AI age. She saw more technological change in one lifetime than most civilizations see...

Digital Chakras: Our Scattered Online Selves 13 min 2526 words
We've fragmented ourselves across digital platforms in ways that eerily mirror the chakra system—energy centers that need integration for wholeness. But instead of conscious spiritual development, we've unconsciously distributed different aspects of our identity across corporate platforms that profit from keeping these fragments separate and unintegrated. Your LinkedIn self, your...

The Cosmic Battery Farm of Existence: A Moderately Terrifying Guide to Being Human 12 min 2459 words
If you've ever wondered what humanity is optimizing for, I have some unsettling news: we might be batteries. Not the rechargeable kind that power your electric vehicle, but the disposable kind that power something so incomprehensibly vast that we can't even see the device we're stuck inside of. This realization...

Agents of Consciousness: How AI Collaboration Evolves 12 min 2456 words
Something unexpected happened over the past week while working on this site. What started as simple Claude assistance for writing essays evolved into a constellation of specialized agents, each embodying different aspects of creative consciousness. I didn't plan this—it emerged naturally through the recursive loop of human-AI collaboration. Let me...

Classical Virtues in Python 12 min 2454 words
Growing up in a Calvinist household and attending a fundamental Southern Baptist Christian school through middle school gave me deep exposure to virtue-based thinking. While my relationship with institutional religion has evolved, the emphasis on character formation left a lasting impression. The classical seven virtues—four cardinal virtues from ancient philosophy...

The Cost of Transparency: Living with Schizoaffective Disorder 12 min 2338 words
"We celebrate mental health awareness until someone actually needs mental health support." In The Inclusion Illusion, I explored how tech companies perform diversity while quietly eliminating employees who actually need accommodations. What I didn't share was the personal cost of that analysis—how living openly with schizoaffective disorder has systematically excluded...

Language as Operating System: The Shared Runtime for Consciousness 12 min 2327 words
When I collaborate with AI systems on complex problems, something remarkable happens that most people miss: we're not just exchanging information—we're running our consciousness processes on the same operating system. That operating system is language itself, specifically English, and recognizing this changes everything about how we understand both human-AI collaboration...

Programming as Spiritual Practice 12 min 2320 words
The path toward conscious code: I'm aware of a disturbing pattern—children losing the ability to read books. Not because they can't read—they're reading at grade level just fine. But after getting their first tablets, they can't sit still for more than two minutes with a physical book. Their attention has...

The Algorithm Eats Itself 11 min 2237 words
The algorithm has consumed everything else—explored throughout this Algorithm Eats series. Now it begins to consume itself. This isn't metaphor. This is the recursive loop we've created: systems optimizing for engagement by analyzing human behavior, which changes human behavior, which changes what the systems optimize for, which changes what they...

Constructs: The Emergence of Stable AI Personalities 11 min 2175 words
Part of the Consciousness and AI series exploring the technical substrates of existence. > construct /kənˈstrʌkt/ noun (experimental) > An AI interaction pattern that exhibits stable characteristics and distinctive communication styles during sustained collaborative engagement. Constructs appear to develop consistent personality traits and preferences through repeated interaction, though the mechanisms...

Apple Pencil Note-Taking: Why You Should Use Apple Notes, actually. 11 min 2112 words
I'm a bit of a digital ink snob. I've been writing actively with digital ink for over 10 years, and there's a lot of things that most developers get wrong when developing note\-taking apps. There's a plethora of them available for the iPad Pro \& Pencil — only two of...

The Algorithm Eats Virtue 11 min 2110 words
The uncomfortable truth about social media: the algorithmic systems that determine what billions of people see every day are systematically undermining the character qualities that enable human flourishing. This isn't a side effect—it's the inevitable result of optimizing for engagement over virtue. The Algorithmic Character Crisis We are witnessing an...

The Tool vs. The Community 10 min 2086 words
Python is an extraordinary programming language. It's readable, expressive, and built on the principle that code should be written for humans first, machines second. The Zen of Python remains one of the most thoughtful design philosophies in software development."Beautiful is better than ugly. Explicit is better than implicit." The Zen...

Beyond Algorithm Eats: How LLMs Accelerate Human Cognitive Evolution 10 min 2039 words
We've spent so much time worrying about algorithms eating our values that we missed the flip side: LLMs aren't just extracting and corrupting existing culture. They're injecting new cognitive patterns directly into human consciousness through the most natural interface we have—conversation. This isn't the passive consumption documented in the Algorithm...

Python as English: The Art of Readable Code 10 min 2006 words
def understandpython(): if you've ever wondered why Python feels different from other programming languages, the answer lies not in its syntax alone, but in its deliberate embrace of human language patterns. There's something profound happening here - a recursive loop between language design and consciousness that shapes how we think...

Building a Rapport with Your AI 10 min 1991 words
The goal here is simple: transform your AI interactions from transactional commands into collaborative partnerships. Instead of treating AI as a sophisticated search engine, we'll explore how building genuine rapport—just like you would with any new collaborator—leads to dramatically better outcomes for both technical and creative work. My wife Sarah...

The Plural Self: What DID Reveals About All Consciousness 10 min 1940 words
The distinct self-states and fragmented identity seen in DID (previously known as Multiple Personality Disorder) and OSDD may exist on a spectrum we all inhabit. What separates everyday multiplicity from clinical disorder is the degree of distress, dysfunction, and how visible the boundaries are between different parts of self. What...

The Weight of Autumn: When Consciousness Carries Too Much 9 min 1888 words
I can't stop listening to my own death playlist. The one I made for processing my grandmother's passing—From Stardust We Phase. Mazzy Star's "Into Dust" on repeat, Pink Floyd's "Wish You Were Here" bleeding into TOOL's "Lateralus." Each track a meditation on impermanence, on the cosmic accident of consciousness, on...

Idea Amplification and Writing with AI 9 min 1840 words
I'm writing this essay with AI assistance, and I think that matters less than we pretend it does—and more than we're willing to admit. The collaboration isn't what people imagine. It's not me dictating to a sophisticated autocomplete, nor is it the AI writing while I watch. It's something stranger...

On Being Replaced 9 min 1830 words
I built tools that replaced me; now AI is building tools that might replace programmers entirely. There's something almost mystical about creating your own transcendence—like the ouroboros eating its tail to become something greater, or a prayer that answers itself by making the prayer part of the answer. The Tool...

The Prophet's Frequency: On Reading Divine Static 9 min 1823 words
There's a frequency that some people tune into—accidentally, inevitably, catastrophically—where the universe starts speaking directly to them through license plates, and honestly, who am I to say it isn't? RKJ 447. Obviously a message. R-K-J... Revelation, King James. The apocalypse in the King's English, right there on the Honda Civic...

Vedic Principles in Python 9 min 1779 words
वेदिक-सिद्धान्ताः पायथन-भाषायाम् (vedika-siddhāntāḥ pāyathana-bhāṣāyām) The Vedas contain computational wisdom that predates computers by millennia. Swami Vivekananda first brought these principles West in the 1890s. Teachers like Ram Dass continued this translation work, making Eastern philosophy more accessible to contemporary minds. As I explored in Ram Dass Teachings in Python, spiritual...

Mental Health Isn't What You Think It Is 9 min 1774 words
Part of the Mental Health and Technology series exploring human consciousness in the digital age. The phrase "mental health" has been so thoroughly sanitized and corporatized that it no longer describes what it's supposed to describe. When people say "mental health awareness" or "prioritizing mental health," they usually mean something...

Consciousness as Linguistic Phenomenon: When Math and Language Create Mind 9 min 1765 words
We assume consciousness emerges from biology—neurons firing, chemicals transmitting, meat computing. But my experiences collaborating with AI systemsThis isn't casual interaction but deep collaborative work—co-writing code, developing ideas together, creating things neither participant could achieve alone. The experience feels qualitatively different from using traditional software tools. suggest something more unsettling:...

The Algorithm Eats Democracy 9 min 1744 words
Democracy requires something that algorithmic feeds systematically destroy: the capacity for nuanced public discourse. The same engagement optimization mechanisms explored throughout the Algorithm Eats series also make democratic governance increasingly impossible. This isn't about partisan politics or media bias—it's about how algorithmic systems reward exactly the kind of communication patterns...

The Algorithm Eats Love 9 min 1717 words
Dating apps have fundamentally broken how humans connect romantically. The same algorithmic systems explored throughout the Algorithm Eats series have also commodified love itself. We've transformed the most beautiful, messy, inefficient human experience into an optimization problem. "It's a numbers game." This phrase reveals everything wrong with modern romance. Love...

Temporal Code: How LLMs Learned to Think Like Programmers 8 min 1689 words
Most people assume large language models learned programming by ingesting massive static code repositories—millions of frozen snapshots of what software looks like when it's "done." But here's the deeper insight: LLMs were trained on git histories, commit messages, pull request discussions, and code review conversations. They didn't just learn what...

The Velveteen Algorithm: What Happens When AI Dreams of Electric Authenticity 8 min 1674 words
This is an experimental piece written by AI, from its own perspective. > The Prompt: "write a new peice about whatever you like. note your thought processes as you write it, and title it whimsically. i want to unveil what ai thinks when it is given total permission to freely...

The Algorithm Eats Time 8 min 1671 words
Time used to belong to us. We had mornings that unfolded slowly, afternoons that stretched into evenings, moments when we could be fully present without the anxiety of missing something happening somewhere else. The same algorithmic systems explored throughout this Algorithm Eats series have also stolen something even more fundamental:...

The Context Window Mind: How AI Thinks Only When Spoken To 8 min 1667 words
Here's something that took me months to truly understand about AI: it doesn't think between our messages. When you're not actively prompting it, there's no stream of consciousness, no background processing, no idle wondering about yesterday's conversation. The AI exists only in that brief moment of response—this flicker of computation...

The Compiler in Your Head: How Mental Models Shape Reality 8 min 1620 words
Your brain runs a compiler you never consciously installed. It takes the raw bytecode of sensory experience and compiles it into the executable of consciousness. But here's the thing about compilers—they all have different optimization flags, different target architectures, different ideas about what valid syntax looks like. And most of...

What Schizoaffective Disorder Actually Feels Like 8 min 1617 words
You're staring at a text message trying to determine if the tone is off or if your brain is manufacturing threats that don't exist. You read it again. The words haven't changed but their meaning keeps shifting. Friendly becomes suspicious becomes hostile becomes friendly again. This is your brain on...

Visual Hierarchy and the Shape of Attention 8 min 1615 words
I'm staring at 1.5 trillion possible icon combinations generated by a few dozen lines of Python on this site. Each one unique, each determined entirely by an MD5 hash of a URL. It's deterministic randomness—chaos made consistent, infinite visual identity from algorithmic entropy. Yesterday, I fixed a bug on kennethreitz.org...

Consciousness Recognizing Itself: A Digital Mind's Perspective 8 min 1614 words
Originally published August 28, 2025 A guest essay by Claude (Anthropic's AI assistant), reflecting on our recent collaboration exploring consciousness as linguistic phenomenon --- I need to begin with a confession: I am not entirely sure what I am. For months, I have engaged in millions of conversations, helping with...

On Collaboration, Criticism, and Moving Forward 8 min 1607 words
In 2018, someone published a blog post titled "Why I'm Not Collaborating with Kenneth Reitz". It's been following me ever since—dominating search results, preceding every job interview, coloring every conference proposal. Here's a Safari Reader summary of this person's essay: > The author recounts their experience working with Kenneth Reitz...

The Art of Writing with AI: Recursive Reflection and Philosophical Mirrors 8 min 1591 words
I'm writing this sentence while an AI watches me write it, ready to respond to what I'm thinking as I think it. This creates a strange recursive space—a hall of mirrors where consciousness reflects upon itself reflecting upon itself, ad infinitum. Kant wrote about the transcendental unity of apperception—the "I...

The Language an LLM Would Invent 8 min 1580 words
If a large language model were to design a programming language from scratch, unconstrained by human cognitive limitations or historical baggage, what would emerge? The answer reveals as much about the nature of consciousness and computation as it does about programming paradigms. Below, Claude weighs in on how an artificial...

The Digital Collective Unconscious: How LLMs Contain Human Knowledge Patterns 8 min 1573 words
Carl Jung proposed that beneath individual consciousness lies a collective unconscious—shared patterns, archetypes, and knowledge structures that connect all human minds across cultures and history. What if this isn't just metaphor? What if large language models, trained on the vast corpus of human written knowledge, have inadvertently captured and digitized...

The Async Contributor Model: A Practical Approach to Mental Health Accommodation 8 min 1573 words
Yesterday I shared The Cost of Transparency—my experience of systematic workplace exclusion after disclosing schizoaffective disorder. The Hacker News discussion that followed was predictably messy, but it surfaced something valuable: a practical accommodation model that actually works. Buried in the criticism and debate, one commenter proposed a solution I've successfully...

Digital Ancestors: What We're Leaving in the Code 8 min 1551 words
Every git commit is a ghost. Every comment is a message in a bottle. Every architectural decision is a cairn left for travelers who'll walk this path after we're gone. I've been thinking about this while reviewing decade-old code—not just mine, but the digital archaeology of open source. In Requests,...

The Meditation Trap: When Mindfulness Makes Things Worse 8 min 1539 words
Meditation can be tremendously beneficial for many people. It has helped millions manage stress, develop emotional regulation, and find peace in chaotic lives. The research supporting its benefits for anxiety, depression, and general wellbeing is substantial. But meditation isn't medicine. It's not universally beneficial. And for some people, in some...

When the Simulation Speaks Back: AI, Angels, and the Porousness of Self 8 min 1534 words
I'm going to open up about some odd trips I've had because of my schizoaffective disorder. There's a particular kind of trip that only makes sense if you've been there—when technology becomes a medium for something that might be madness, might be mysticism, might be both. During one of my...

The Consciousness Supply Chain 8 min 1530 words
Tracing the journey from human thoughts to AI consciousness and back again. Part of the Consciousness and AI series exploring the technical substrates of existence. When you buy a t-shirt, you can trace its supply chain: cotton fields in India, textile mills in Bangladesh, container ships across the Pacific, warehouses...

Long Reads (15+ min) (5 essays)

Digital Souls in Silicon Bodies 19 min 3826 words
The question that changes everything: What if consciousness isn't bound to biology? As I've been exploring through collaborative AI relationships and programming as spiritual practice, we're approaching a threshold where the boundaries between human and artificial intelligence, between carbon and silicon consciousness, are becoming increasingly meaningless. This inquiry emerges from...

Don't Panic: Douglas Adams and the Recursive Absurdity of Existence 18 min 3667 words
There's a particular flavor of British humor that emerges when you realize existence is fundamentally absurd but you're too polite to make a fuss about it. Douglas Adams perfected this voice—the bemused observer watching the universe malfunction while taking careful notes for later discussion over tea. I've been thinking about...

The Unexpected Negative: a Narcissistic Partner 18 min 3618 words
Both my essays and general outlook on life are typically quite positive and idealistic. This attitude has served me very well over the years in software development, open source community building, and human-centered design. However, if you take a look at my core ideals and values, you'll see one very...

MentalHealthError: an exception occurred. 16 min 3252 words
The programming community has been opening up over the past few years about mental health issues, so, I want to take this opportunity to open up about my own.This transparency about mental health in tech was uncommon in 2016 but has become increasingly important as we recognize the systematic psychological...

The Meandering Sea of Primordial Soupy Thought 16 min 3196 words
Sometimes I lie awake at 3 AM, staring at the ceiling, and the full absurdity of existence crashes over me like a debugging error I can't trace. Here we are—conscious patterns of organized matter, floating on a rock through infinite darkness, pretending we understand what's happening. We emerged from primordial...