AAmeen Usman1d ago · 2 min readThe generator says weekday 1-5The sentence the generator writes for 0 9 * * 1-5 is "at minute 0, at hour 9, on weekday 1-5". On Vixie cron and cronie those numbers are Monday through Friday, at 09:00. Monday is 1. Friday is 5. Sun12Skepttools.hashnode.dev
AAmeen Usman2d ago · 2 min readThe name cell on row 2 is emptyThe name column on row 2 is blank. This array gives name to the first object and email to the second, and the CSV writer still emits one header from every top-level key. id,name,email 1,Ada, 2,,linus@kepttools.hashnode.dev
AAmeen Usman2d ago · 2 min readstatus becomes the interface StatuA list of statuses does not become an interface named Status. The converter drops one trailing s from the key, then Pascal-cases what is left. status becomes Statu. items becomes Item. This input is {kepttools.hashnode.dev
AAmeen Usman4d ago · 3 min readThe day step starts on the 1st, not on the 5thA monthly job written as 0 0 */5 * * looked like every date divisible by 5. On Vixie cron and cronie the day-of-month field starts at 1, and a star in that field is 1-31. The step walks the 1st, 6th, kepttools.hashnode.dev
AAmeen Usman6d ago · 3 min readThree mistakes when a JSON array becomes typesThree mistakes when converting JSON to types A copied API body feels like it should turn into types with nothing left over. The converter will draft something. The draft follows a few rules that are ekepttools.hashnode.dev
AAmeen UsmanNov 1 · 3 min readThree mistakes when converting JSON to typesA copied API body feels like it should turn into types with nothing left over. The converter will draft something. The draft follows a few rules that are easy to miss if you only look at the first rowkepttools.hashnode.dev
AAmeen UsmanOct 31 · 5 min readFive 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, s12Ckepttools.hashnode.dev
AAmeen UsmanOct 29 · 3 min readHow 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. Putkepttools.hashnode.dev
AAmeen UsmanOct 28 · 3 min readHow 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 w1kepttools.hashnode.dev
AAmeen UsmanOct 26 · 1 min readTurn 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.kepttools.hashnode.dev