Found 237 bookmarks
Custom sorting
My User Experience Porting Off setup.py
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.
·gregoryszorc.com·
My User Experience Porting Off setup.py
Genetic Algorithms for Evolution of QWOP Gaits
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.
·arxiv.org·
Genetic Algorithms for Evolution of QWOP Gaits
Context Free Art
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.
·contextfreeart.org·
Context Free Art
Terminal Emulators Battle Royale – Unicode Edition!
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.
·jeffquast.com·
Terminal Emulators Battle Royale – Unicode Edition!
How to improve Python packaging, or why fourteen tools are at least twelve too many
How to improve Python packaging, or why fourteen tools are at least twelve too many
"Join me on a journey through packaging in Python and elsewhere. We’ll start by describing the classic packaging stack (involving setuptools and friends), the scientific stack (with conda), and some of the modern/alternate tools, such as Pipenv, Poetry, Hatch, or PDM. We’ll also look at some examples of packaging and dependency-related workflows seen elsewhere (Node.js and .NET). We’ll also take a glimpse at a possible future (with a venv-less workflow with PDM), and see if the PyPA agrees with the vision and insights of eight thousand users."
·chriswarrick.com·
How to improve Python packaging, or why fourteen tools are at least twelve too many
Git Query language
Git Query language
"GQL is a query language with a syntax very similar to SQL with a tiny engine to perform queries on .git files instance of database files, the engine executes the query on the fly without the need to create database files or convert .git files into any other format, note that all Keywords in GQL are case-insensitive similar to SQL."
·amrdeveloper.github.io·
Git Query language
(How to Write a (Lisp) Interpreter (in Python))
(How to Write a (Lisp) Interpreter (in Python))
This page has two purposes: to describe how to implement computer language interpreters in general, and in particular to build an interpreter for most of the Scheme dialect of Lisp using Python 3 as the implementation language. I call my language and interpreter Lispy (lis.py). Years ago, I showed how to write a semi-practical Scheme interpreter Java and in in Common Lisp). This time around the goal is to demonstrate, as concisely and simply as possible, what Alan Kay called "Maxwell's Equations of Software."
·norvig.com·
(How to Write a (Lisp) Interpreter (in Python))
Lem
Lem

A programmer's editor written in Common Lisp, written for Common Lisp, which aims to be a good Common Lisp IDE; but which also works as an IDE for other languages too.

Think Emacs in Common Lisp.

·lem-project.github.io·
Lem
Grapheme Clusters and Terminal Emulators – Mitchell Hashimoto
Grapheme Clusters and Terminal Emulators – Mitchell Hashimoto

Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!

Okay, it's kinda useful actualy.

·mitchellh.com·
Grapheme Clusters and Terminal Emulators – Mitchell Hashimoto