Posts

Showing posts from December, 2023

GNU Emacs as a Shopping App

Image
  How do you find the best price for items while shopping online? You can go to each website and compare yourself manually. Or let Emacs do the hard work for you!! You can start with a shopping list in a normal buffer. shop-mode minor mode allows you to search, compare and add products to your cart across multiple providers (presently Bigbasket and Jiomart ). You can finish the payment on the provider's website. Note: You can use (url-cookie-store) for managing cookies. Keybindings s     Search the item o     Order the results by price, unit price, brand etc. q     Quit Unit price comparison allows better deals   Config (require 'shop)   ;; For webp image support (setq image-converter 'imagemagick)  ;; An example. Add appropriate cookies changing name, value and domain. (url-cookie-store "_bb_vid" "NTY2NzQ4MDAwNw==" "-1" "www.bigbasket.com" "/" t)   Code https://github.com/atamariya/tumblesocks/blob/dev/shop.el

Stream ListenBrainz.org Music Playlist in GNU Emacs

Image
    Here's an Emacs Multimedia System (EMMS) extension for streaming ListenBrainz.org music playlist using mpv player (with ytdl support). Irrespective of how satisfied you are with your music streaming service, you should plan for maintaining a playlist of your favorite music in an open format. The popular service might be forced to close down because of non-profitability even when you are willing to pay for ad-free music streaming. e.g. Worldspace radio customers even paid for the device in addition to the subscription fees. The code uses following function from tumblesocks codebase. In case you don't use tumblesocks, you'll need to define it yourself. (defun tumblesocks-api-process-response (&optional service)   "Process Tumblr's response in the current buffer, returning JSON or signaling an error for other requests."   (decode-coding-region (point-min) (point-max) 'utf-8-dos)   ;; the following copied from url.el   (goto-char (point-min))   (sk