This tutorial walks you through how to package a simple Python project. It will show you how to add the necessary files and structure to create the package, how to build the package, and how to upload it to the Python Package Index (PyPI).
Public
Packing Python Projects
HN: Orange Site Hit
Someone only went and posted my blog post about OSHit to the OS; so o shit OSHit is on the OS.
Mozilla 2023 Annual Report: CEO pay skyrockets, while Firefox Marketshare nosedives
The Mozilla Foundation has released their latest annual report -- covering the time up through December of 2022 (Mozilla's reporting always lags by one year) -- and something peculiar leaps out of the data:
- The compensation of the Mozilla CEO has skyrocketed (by millions)
- While the Mozilla revenue drops
- And the Firefox Marketshare takes a nosedive
- While, at first, this seems ridiculously lopsided... perhaps it actually makes sense.
Hexcodle | The Daily Hexcode Guessing Game!
While it's fairly trivial to beat in a number of different ways, it's a fun idea.
Lode Runner Web Game
Lode Runner. In the web!
Game Development Budgets and Customer Value
A brief but useful explanation of how game development budgets relate to perceived and actual consumer value. Helps answer the question "is a higher-price but higher-budget game better value than a lower-price but lower-budget game?"
Parallel httpx requests
Useful overview of how to perform parallel requests with httpx.
HN Search API
An alternative API for HackerNews; one that looks way easier to work with and way more efficient.
HackerNews/API: Documentation and Samples for the Official HN API
The official documentation for the v0 version of the HackerNews API.
Using the Hacker News API
Blog post going over the main details of the Hacker News API (possibly one of the worst APIs I've ever seen).
Estimate Github Worth Generator
Totally pointless but mildly amusing web app that checks the "worth" of your GitHub profile.
Terminal Emulators Battle Royale – Unicode Edition!
It turns out that Unicode support in Terminals is a lot more difficult than it first appears. A quick overview of special support for Unicode characters in Terminals:
- "Wide" or "Fullwidth" characters, particularly for East Asian languages and emojis, are codepoints that occupy two cells in a terminal instead of one.
- "Zero" width combining characters used in languages such as Arabic, Hebrew, or Hindi do not occupy any cells themselves; instead, they modify the previous character.
- "Zero Width Joiner" (ZWJ U+200D) reduces and combines many codepoints into a single emoji. This is similar to combining, but encoded in a completely different way.
- "Variation Selector-16" (VS-16 U+FE0F) is a special character that, for specific "Narrow" emojis consuming one cell, causes them to become "Wide", consuming two cells.
Feed Canary
Feed Canary watches your RSS feed and emails you if it’s missing or invalid.
Steam Replay 2023
All the games I played, and more, in 2022.
Context Free Art
Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes.
Tinboard - A terminal-based client for Pinboard
Tinboard is a client for Pinboard, based in the terminal, it includes:
- Add/edit/delete bookmarks.
- Various forms of filtering.
- Filtering with tags.
- Full text search.
pip.wtf: Inline dependencies for small Python scripts
A tool to include dependencies with a Python script, without the packaging faff. Not sure I need it, not even sure I want it, but damn do I love how it's written up and introduced. I feel the annoyance.
Wins
Generally I'm a fan of and use Magnet; but this looks cool and is worth remembering if I ever want to try something else out.
Taking responsibility - why UK PLC needs better managers
A report from YouGov and CMI on the state of leadership and management in UK businesses.
Genetic Algorithms for Evolution of QWOP Gaits
QWOP is a browser-based, 2-dimensional flash game in which the player controls an Olympic sprinter competing in a simulated 100-meter race. The goal of the game is to advance the runner to the end of the 100-meter race as quickly as possible using the Q, W, O, and P keys, which control the muscles in the sprinters legs. Despite the game simple controls and straightforward goal, it is renowned for its difficulty and unintuitive gameplay. In this paper, we attempt to automatically discover effective QWOP gaits. We describe a programmatic interface developed to play the game, and we introduce several variants of a genetic algorithm tailored to solve this problem. We present experimental results on the effectiveness of various representations, initialization strategies, evolution paradigms, and parameter control mechanisms.
HTTP raccoons
HTTP status codes as raccoons as a service.
Kinda like the cat one, only with less cat and more raccoon.
La Terminal in VisionOS
La Terminal is now running in VisionOS. Based on the video, it looks exactly like the sort of VR terminal experience I’ve been wanting (albeit in PCVR or Quest native)for ages now!
A Journey Into Shaders
An introduction to shaders.
Migrating from LSP-Mode to Eglot · Andrey Listopadov
Useful article talking about migrating from LSP mode to eglot in Emacs.
My User Experience Porting Off setup.py
There seems to be a lot of confusion around setup.py and friends; and while I’ve seen pushback against this post (mostly sniffy gatekeeper stuff rather than helpful feedback), it’s a worthwhile read if only because the confusion is real.
Common Lisp: An interactive approach
Electronic book introducing Common Lisp.
The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)
Useful article talking about unicode stuff.
Page is annoying to read though with daft gimmicks.
Common Lisp Nova Spec
A very clean presentation of the Common Lisp HyperSpec
Writing Small CLI Programs in Common Lisp / Steve Losh
What's New in Emacs 29.1? - Mastering Emacs
Good rundown on what’s new in Emacs 29.