I used to edit PDFs using GIMP. I would open the PDF in GIMP, make edits, export it as a
.mng file, and convert it back.
$ convert -reverse pdf.mng pdf.pdf
This would work well except all the texts were rasterized.
Update 2019: I recently tried editing PDFs using LibreOffice Draw again and was delighted to discover its PDF editing capabilities have improved. Gonna use LibreOffice Draw from now on.
Update 2020: Xournal has really improved! I’m currently using Xournal to sign PDFs
I stayed with Sir Rice while transiting through New York.
He showed me his awesome new stickers.
It’s databases, get it?
I learned about Insomnia from Vinay.
Insomnia makes sending REST requests really easy to manage, so you don’t have to store a whole bunch of
It’s very similar to Postman (also an excellent requests manager).
Harry would probably tell me there’s an emacs mode for this.
I bet that emacs mode doesn’t have a punny name.
“Capture all changes to an application state as a sequence of events.”
A good name for this concept.
In Python, I wanted to run all the tests before actually executing the contents of a script.
Luckily I was using Pytest and could call
pytest.main() will return the appropriate exit codes that indicate test success or failure.
It’s pretty neat!
Foo, bar, baz.
I finally have a name for these!
They’re called metasyntactic variables and there are a lot of variations.
Check ’em out:
I learned about Hugo the other day. It’s a Go based static site generator much like Jekyll.
I’m not convinced it’s significantly better than Jekyll. Compilation speed is a negligible feature for me.
It seems like it’s the new hotness (much like how Netlify is the sexier Heroku).
I feel olde.
If you ever need to recreate the Postgres public schema, you can do:
CREATE SCHEMA public;
GRANT ALL ON SCHEMA public TO public;
This is to help my future self.
startx won’t load after updating Debian. I’ll often get no error messages in the logs, or the unhelpful message
failed to set IOPL for I/O (which is a red herring). There are many reasons why
startx might fail, so this issue is particularly difficult to search for.
I usually ask Harry for help.
Here’s what we did this time:
- Boot into recovery mode
- reinstall Gnome
Maybe this will help me next time.
Harry and I went to Boulder Python and heard Brandon Rhodes talk about design patterns. It’s always so delightful to hear one of his talks.
This talk was about putting together a patterns guide (Gang of Four style) that are useful in Python).
Harry was reminded of Russ Olsen’s Design Patterns in Ruby.
I should give them both a read and see how much of the patterns is Python-specific vs general dynamic languages.