About:

Paul Smith is a software engineer with a passion for technology and community projects, living in Evanston, IL.

Website:

Specializations:

Interests:

Technology Software development Civil society Politics Community projects

Outgoing Links:

Schneier on Security
Subscribe to RSS:
The author created a website to showcase original 8×8-pixel black-and-white patterns from the classic Macintosh, specifically those from the original Control Panel and MacPaint. The post details the process of extracting these pat...
The blog post discusses the 'jj absorb' command, a feature in the 'jj' version control system that allows users to automatically distribute changes from a working directory to the appropriate previous commits in the history. This ...
The blog post discusses the author's experience in creating toy programming languages to understand compilers and machine workings, focusing on using the LLVM C API to construct and execute a simple function that adds two integers...
The author discusses several topics of interest related to programming and user interface design, including Immediate-Mode Graphical User Interfaces (GUIs), Functional Reactive Programming (FRP), and the Elm programming language. ...
The author, Paul Smith, discusses the need for improved software solutions for civil society organizations (CSOs) such as non-profits and NGOs. He introduces his company, Public Good Software, which aims to address the challenges ...
jjq is a CLI tool that streamlines local merge queues in the jj version control system, enhancing collaboration and maintaining a stable codebase.
The author shares their positive experience contributing to the jj project, emphasizing the ease of setup and the advantages of using jj over Git for version control.
The author shares their experience maintaining a jj-compatible fork of the superpowers plugin, detailing the adaptation process from Git to jj workflows.
The post discusses a simple method to start a Python HTTP server using the command 'python -m SimpleHTTPServer', highlighting the issue of port conflicts when multiple server processes are running. It suggests passing '0' as the p...
The post announces the release of gogeos, a spatial data library for the Go programming language, which utilizes the GEOS C library for spatial data operations and geometric algorithms. It highlights the library's capabilities, in...
The author reflects on various t-shirts that hold personal memories, each representing significant moments in their life. They recount experiences with César Díaz, a guitar tech, and the Texas Tremodillo pedal, their involvement i...
The author, a software engineer with experience in web-based applications, discusses the challenges and successes of healthcare.gov and state-based marketplace websites following the implementation of the Affordable Care Act (ACA)...
The text provides a cheatsheet for jj's built-in diff editor, explaining how to use it and where it comes from. The author shares their frustration with the tool's interface and the lack of public resources to help with editing a ...
The text describes the efforts to fix HealthCare.gov ten years ago, the team assembled to help, the challenges they faced, and the steps they took to improve the website. The group was led by Todd Park, and they worked to understa...
The movie 'Oppenheimer' is a complex piece of art that tells an efficient story in spite of its 3-hour running time. It explores the central question of J. Robert Oppenheimer's allegiances and bonds, both professional and personal...
The author discusses the issue of bufferbloat on home networks, which causes latency and slow internet speeds despite having sufficient bandwidth. The author explains the phenomenon and how to diagnose and fix it using a queue man...
The author reflects on his year in review, discussing his hobbies, work, and family life. He took up sewing, running, and renovating his house, and also experienced professional success with his company. He also spent quality time...
The new release of Go 1.7 features an SSA-based compiler backend, enabling optimization passes that make the resulting binary smaller and faster. It also includes new tools to interact with the SSA machinery, such as outputting in...
The text explains how to modify a Go slice in-place during iteration. It provides a straightforward way to accomplish it and an example. The author also updates the post with a better way to do it.
The text explains a simple way to limit the number of simultaneous clients to a Go net/http server or handler using a counting semaphore modeled with a buffered channel. It provides an example of a simple HTTP handler and demonstr...
The Bloomingdale Trail is a new park in Chicago that is 2.7 miles long and runs through 4 neighborhoods. It is a unique trail that is elevated 17 feet above the city streets, providing a new way to experience the city. The trail w...
The author tried to make a map of Chicago election results, but found only out-of-date wards & precincts shapefiles. They had to FOIA the up-to-date versions, republished them, and finally made the map. The post discusses the diff...
...
...