| API | description |
|---|---|
| JSON Placeholder | mock REST APIs for development only |
| Google Translate | generate free translations up to a certain limit |
| Open Weather Map | weather prediction across the world |
| REST Countries | info about the world’s countries |
| IP API | data about IP addresses |
| Random Data API | like the first one, but with a sharper focus on random data |
| Pokemon API | info about Pokemon with recent introduction of GraphQL API |
Merge Two PDF to Single Encrypted PDF
Problem
I have unprotected
input1.pdfinput2.pdf
and I want to create one single encrypted.pdf.
My try
I looked up QPDF’s manual and tried the following command.
qpdf --empty --pages input{1,2}.pdf --encrypt upw opw 256 -- encrypted.pdf
but I got this error.
qpdf: unrecognized argument --encrypt (pages options must be terminated with --)
For help:
qpdf --help=usage usage information
qpdf --help=topic help on a topic
qpdf --help=--option help on an option
qpdf --help general help and a topic list
Solution
The sentence inside the parentheses says it all.
[Read More]Ten Probably Handy Sites
A brief summary of 10 Incredibly Useful Websites on Medium.
- Upword.AI (paid)
- summarise stuff
- Gamma (free trial for the moment)
- get professional slides in min, not open source
- IMGCreator (free, point-based)
- text/img → img, chatGPT powered
- Popsy (free to create, paid to publish)
- no-code website buider
- Visual Capitalist (free)
- explanatory charts
- TypeLit.io (free for some œuvres, paid for own book)
- type classics out to train typing
- Zorp.one (free for trial, paid for deploy)
- no-code app generator for businesses, e.g. delivery, store management, doc collection
- Kialo (free)
- repository for debate arguments, with discussion topology
- Nomad List (free limited trial, paid content)
- good for remote workers, find remote work opportunities, insights into cities, dating app (that I don’t recommend)
- SuperMeme (paid)
- AI meme generator
Encrypt PDF on Command Line
Background
On M$ Win*, I don’t have dedicated PDF readers like Adobe.
During visioconference, one might want to share some downloaded PDFs. Those documents can be part of an ebook or notes. In some situations, they can provide context to a discussion.
Problem
- Under the same folder, you might have
downloaded_ebook.pdfpersonal_info.pdfother_personal_stuff.pdfthat you don’t want to expose while streaming.
However, each downloaded PDF usually comes with a name set by others. It can be tedious to rename them according to your own habits. To protect users’ privacy, we can
[Read More]Adjust Git Bash Font and Window Size
Goal
Make the characters larger and more readable.
Solution
The option names might be found in the manual. Sometimes, I find opening MINGW’s settings through GUI helpful.
FontHeight=12
Columns=143
Rows=36
I’ve read Gerald Lee’s .minttyrc. I’ve enlarged the window size so
that in the standard output, one line can contain more info.
Fujitsu LH532 Thermal Paste Application
Background
My old laptop was bought ten years ago. I had never changed the thermal paste between its CPU and its fan. As a result, it had been getting hot during my online tutorials.
Photos
dried thermal paste cleaned and removed
with isopropyl and kitchen towel
[Read More]Removed jQuery Dependency from My Math Editor
Background
jQuery provides many handy functions to speed up the development, for example
document.ready(), element.toggle(), element.hide(), etc.
My math editor used some of them. However, I replaced them with
Vanilla JavaScript at commit 4a35c45b.
Goal
Some users complained about the white background in the past versions of my editor. That had motivated me to refactor the code, so that it would be easier to maintain and to add in new features.
HTML5 input types used
Actual appearance might vary across browsers.
[Read More]Showdown KaTeX With mhchem
mhchem support for Showdown-KaTeX
Background
I’ve written about bringing user-defined KaTeX macros into Hugo a few years ago. Looking back, I realized that I only knew how to copy code at that time.
Goal
- To replace the current code for my math editor with Showdown-KaTeX.
- To bring mhchem into my LaTeX + Markdown sandbox.
Motivation
To get the benefits of the three free (as in “freedom”) technologies.
- Markdown syntax is (much) simple(r than its LaTeX equivalent, especially for tables, ordered/unordered lists, etc).
- LaTeX syntax for math is, in the long run, worth learning, so that your fingers can stay on the keyboard while editing math expressions.
- mhchem allows writing chemical equations conveniently as in the previous point.
However, Rattle has pointed out the
difficulties of mixing LaTeX and Markdown syntax. In his proposed
solution for WordPress, he first renders KaTeX before moving to Markdown. He
has provided an example use case with a dollar sign $ in a normal Markdown
content (e.g. An apple costs $1.5.)
Tikz to SVG in VS Code
My little LaTeX Workshop recipe
Goal
View SVG graphics generated from TikZ code in VS Code.
Part I: generate SVG using LaTeX Workshop
From the IDE’s parameters tab, I found the tools and recipes parameters. I
clicked my user settings settings.json twice: once through the tools, and once
through the recipes. Each click generated an array of default recipes or tools.
Each of the former is a sequence of the later, which represents a command. The
official examples and placeholders are easy to follow. Here’s the two JSON
objects that I added.
dvisvgm Guide for TikZ Pictures with Pattern Filling
A quick note of the right commands for the conversion
Problem
I had issues in getting a SVG from a TikZ picture containing a pattern filling: https://github.com/mgieseki/dvisvgm/issues/158. The reported issue was created last year, and it’s marked as fixed. Nonetheless, I had this issue even though my MikTeX was up-to-date.
Discussion
- I wanted to confirm whether my
dvisvgm.exe, which had been shipped with MikTeX, was latest.- I first asked at https://github.com/mgieseki/dvisvgm/issues/184, but I was referred to MikTeX’s GitHub repository since it’s about the MikTeX-packaged version of this tool.
- I am not sure about the technical explanation from the owner of dvisvgm at https://github.com/MiKTeX/miktex/issues/1112. It seemed that I was already using the latest stable version of this tool.
- I gave a MWE illustrating the problem with the graph of y = (x + 1)² with region under the curve filled with a pattern in the above issue. I knew that’s probably off-topic, but the package owner might have some insights about the problem. It turned out that PDF → SVG was partly supported by dvisvgm. Using DVI → SVG, I managed to get the filling pattern, but I lost the beautiful Computer Modern Roman fonts—that’s another issue.
- Hoping for a response from the owner for the previous problem, I started
https://github.com/mgieseki/dvisvgm/issues/186. He suggested the use of
--no-fontsor--font-format=woff. I observed no difference in the local filesystem. I uploaded everything I got through GitHub so that he could see what mydvisvgm.exehad output. I didn’t expected that the Computer Modern Roman fonts disappeared on GitHub side. If I hadn’t asked there, I would have never known that it’s the web browser’s security measure not to load the embedded font data in a SVG loaded from a server.
Skills learned
Meaning of some commonly used parameters of dvisvgm:
[Read More]