Home / Blog Menu ↓

Blog: #web

51 posts / tag feed / about the blog / archive / tags

Links #43

Tyler Hobbs on color arrangement in generative art. I haven’t done much generative art lately (and don’t know how much I’ll end up actually doing in the future), but I like Tyler’s work and this is a good writeup.

Phil Plait on David Novick’s colored spheres optical illusion. Wow.

Shawn Wang on quality vs. consistency. Which is something I feel I could do much, much better at here on this site.

Matthias Ott about personal websites. A good thing to remember.

Jason Kottke linking to a map of the world’s lighthouses. Look at Norway!


Reply via email or office hours

I used to use Fabric to deploy my personal apps, but I often ran into issues with it, so several months ago I switched over to simple shell scripts that use ssh. Much more resilient, and far easier to maintain (at least for me).

Here’s a sample of what one of these deploy scripts looks like for a Django app:

#!/bin/sh

git push

ssh myusername@myhost /bin/zsh << EOF
  cd /path/to/app/code/

  echo "- Pulling the code"
  git checkout main && git pull

  echo "- Restarting the app"
  supervisorctl restart myappname

  echo "- Running migrations"
  /path/to/venv/bin/python manage.py migrate

  echo "- Collecting static"
  /path/to/venv/bin/python manage.py collectstatic --noinput
EOF

I’ve thought about using a CD pipeline instead, but I’m not convinced that introducing an extra dependency — no matter how slick — is actually worth it for something small and personal like this. (CI/CD sure is nice at work, however.)


Reply via email or office hours

Links #40

Dave Rupert on how the web is something different. Celebrating the democratic nature of the web as a space for everyone, not just professionals. I like that.

Adrian Roselli on responsive type and zooming. Over the last few years I’ve become one of those people who scale text up. Not massively — not yet — and not always, but it very much makes a difference for these aging eyes.

Donny Trương’s free online book on Vietnamese type design. Mmm.

Noah Smith on developing countries in the Global South, which tied in nicely with my recent reading of How Asia Works (and mentions the book as well). Nice to see that Malaysia’s doing better than it was when the book was written.

Radio Garden lets you browse worldwide radio stations via a map. Fun.


Reply via email or office hours

Links #38

Ziglings. Learn Zig by fixing small bugs in small programs. (Inspired by rustlings, though those exercises seem to be broader than just fixing errors.) A good way to learn a programming language, I think.

Maggie Appleton on bi-directional links. Doing this locally is one of the (many) changes I want to make down the road when I rebuild this site’s backend.

Vasilis van Gemert on where web page navigation should be. I’m convinced: nav at the bottom of the source file, and on mobile at the bottom visually as well. Planning to make the change here soon.

Blender 2.92 dropped recently. Geometry nodes look promising, and it’s crazy to see how all the grease pencil work has turned Blender into a viable 2D animation studio as well.

PEP 636. Pattern matching! In Python! Very much looking forward to this — I’ve loved using it in Rust.


Reply via email or office hours

Links #34


Reply via email or office hours

Links #33


Reply via email or office hours

Links #32


Reply via email or office hours

Links #29


Reply via email or office hours

Links #27


Reply via email or office hours

Introducing Cirque

As schoolwork starts to wind down, I’m finally starting to make progress on the creativity tools and HCI explorations I talked about back in September. This week I’ve also realized that graphical tools for art and design are what I want to focus most on. (I do still intend to explore textual interfaces, but they’re on the backburner for now.)

In the spirit of working in public, then, Cirque is a small WIP web app I’m building for making patterns via circle packing:

cirque-01.png
cirque-02.png
cirque-03.png
cirque-04.png

This is very much a rough initial MVP. You can tweak some settings, generate new patterns using a simple circle-packing algorithm, and export SVG (with the turbulence/displacement filters enabled by default), but that’s it. Some of the features I’m planning to build next:

  • Replace the settings text box with, you know, good UI (I’m also excited to explore color picker design here)
  • Add the ability to manually place both circles and anticircles (so artists are able to create intentional negative space)
  • Add a way to programmatically set the circle colors (probably via something like shaders, so you could say all circles smaller than a certain size get one color and the rest get another, or circle color is dependent on position or something else)

I’ve also thought about moving the circle packing code from JavaScript to Rust, to be able to play around with WebAssembly, but it seems overkill, at least at this point. (Instead I think I’ll plan to Rust and WebAssembly on the graphical type design tool I want to build.)


Reply via email or office hours