Five cron mistakes that move an every-five-minutes jobThe comment on the line said the job ran every five minutes. The fields in front of the command did not. One draft put an English sentence where the times belong. Another pasted a Quartz expression, s3h ago · 5 min readkepttools.hashnode.dev
How to encode a URL and escape HTML in the browserA query string and an HTML page do not escape text the same way. This string is fine in a sentence: <Hello World> & "KeptTools"?q=1 Put it in a URL without encoding, and & starts a new parameter. Put2d ago · 3 min readkepttools.hashnode.dev
How to decode a JWT in the browserA JWT looks secret. It is not. The header and the payload are only Base64url text. Anyone who has the token can read the claims. The signature is the part that proves the token was issued by someone w13d ago · 3 min readkepttools.hashnode.dev
Turn PDF pages into JPG images in your browserA PDF page is often the wrong format for a slide, a chat message, or a blog image. Uploading the whole document just to export one page is a poor trade. PDF to JPG does that conversion in the browser.4d ago · 1 min readkepttools.hashnode.dev
Merge, split, and compress PDFs in your browserI kept avoiding random PDF websites for contracts, invoices, and reports. Those files should not leave the laptop just to merge two exports or pull out one page. So I added PDF tools to KeptTools. The6d ago · 2 min readkepttools.hashnode.dev