Today I Learned
Tidbits of (hopefully) useful information on technologies and tools related to software development.

November 29, 2020 - Vim

You can use the built-in sort utility!

To perform a sort, first select the lines you want to sort using visual mode. Afterwards, press :, type sort, and then press enter.

Note that the default sort is based on unicode characters so the results may be unexpected (it accepts an optional regex argument to help with that!)

There are some neat options like u for removing duplicate lines, n for numeric sort, and sort! for sorting in reverse.


Access-Control-Allow-Headers

Response header to a preflight request (OPTIONS) that indicates which headers can be used when making the actual request.

# Example request
curl -vX OPTIONS \
  -H "Origin: https://yourdomain.com" \
  -H "Access-Control-Request-Method: POST" \
  -H "Access-Control-Request-Headers: X-Some-Header" \
  https://www.someapi.com/

# Example response
# ...
< access-control-allow-origin: https://yourdomain.com
< access-control-allow-methods: OPTIONS,POST
< access-control-allow-headers: X-Some-Header
# ...

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers

Access-Control-Expose-Headers

Response header to an actual request that indicates which other response headers the client (ex: a browser) is allowed to access.

# Example request
curl -v -H "Origin: https://yourdomain.com" \
  https://www.someapi.com/

# Example response
# ...
< access-control-allow-origin: https://yourdomain.com
< access-control-expose-headers: X-Some-Header
# ...

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers

November 09, 2020 - Fonts

Got a system font you want to convert into a web font?

cat font.ttf | npx ttf2woff2 >> font.woff2

Need to support older browsers?

npx ttf2woff font.ttf font.woff

Seeing command not found: npx?

You probably need to install Node.js.

Learnings sourced by everyone who has taught me, either directly or indirectly. Thanks!

Visit my main site for more, and sometimes longer, content.