This week, I learned:

  • Pyodide can access the DOM and JavaScript in the browser
  • Jupyter Lite lets you run Jupyter notebooks in the browser
  • AVIFs is about 10X better than GIFs. I tried creating one via EZGIF AVIF Maker and the .avifs file created was 15X smaller! ffmpeg -i input.gif -c:v libaom-av1 -crf 30 -b:v 0 -cpu-used 4 -tiles -an output.avif
  • Claude 3.5 thinks .opus is the best format to compress audio. It used ffmpeg -i audio.wav -c:a libopus -b:a 16k -application voip -vbr on -compression_level 10 audio.opus
  • API coding best practices Source via Simon Willison:
    • Always add screenshots to the Readme. They never break.
    • Always add every example. Human think in examples.
    • Avoid defaults and be explicit unless 99% of the usage is with the default.
    • Make the feedback loops incredibly fast.
    • Make deprecations easy for users to deal with.
    • Keep objects immutable.
  • PyMuPDF4LLM can convert PDFs to Markdown. It handles tables, too.
    • 04 Oct 2024. PDF-Extract-Kit does PDF layout, formula, table, and OCR extraction using various models.
    • 04 Oct 2024. llmsherpa extracts PDF layout, tables, not OCR
  • When evaluating feasibility of technology with LLMs always ask for multiple options and pick from those. Simon Willison
  • Gemini supports audio natively
  • Google Vertex AI has an OpenAI compatible API but it works only for some models. Anthropic and Gemini are not compatible.
  • When you paste HTML into Excel, it automatically changes the font of the cell to match the content in the HTML!
  • Aptos is the new default font in Office - replacing Calibri.
  • Anthropic’s Introducing Contextual Retrieval says:
    • Use BM25 in addition to embeddings to match rare terms (e.g. identifiers)
    • Add a context to each chunk’s metadata (generate it with a cheap LLM) and pass it to the summarizing LLM
    • Reranking helps with cost AND accuracy. Use Cohere or Voyage
  • Sentient lets you control the browser via Python in natural language