Hacker Newsnew | past | comments | ask | show | jobs | submit | overflowy's commentslogin

Best thing I ever did with my Kindle was jailbreak it and install KOReader. Crazy that somebody needs to do that in order to truly own their device.


Subscriptions for apps that require absolutely no infrastructure to run make absolutely no sense to me. Hard pass.

You should post a screenshot in the README to let the people know what the rendered PDF looks like.

There is an example in the repo: https://github.com/schicho/mdpdf/blob/main/examples/README.p...

(It's vanilla.)

I'd love to see an output option that leaves 40%–60% of the right side of every page blank, for handwritten notes after printing (similar to Tufte layout).


This looks like a great little utility. Nice job!

I would also like to see some markdown to PDF screenshot examples in order to properly visualize the intent. Keep it up!


How does it compare against axios (aside from the supply chain issues hehe)?


Ky was written to use fetch from the beginning, whereas Axios tries to adapt itself to fetch, which doesn't always work well. We also have much better TypeScript support, including built-in schema validation with type inference.

Documented here: https://github.com/sindresorhus/ky?tab=readme-ov-file#how-is...




Comments moved thither. Thanks!


Awesome, appreciate it :)


I use this to remap app keys:

    local appHotkeys = {}

    local function remapAppHotkey(appName, fromMods, fromKey, toMods, toKey, delay)
        if not appHotkeys[appName] then
            appHotkeys[appName] = {}
        end
        local hotkey = hs.hotkey.new(fromMods, fromKey, function()
            hs.eventtap.keyStroke(toMods, toKey, delay or 0)
        end)
        table.insert(appHotkeys[appName], hotkey)
    end
    
    local appWatcher = hs.application.watcher.new(function(appName, eventType)
        local hotkeys = appHotkeys[appName]
        if not hotkeys then return end
        for _, hotkey in ipairs(hotkeys) do
            if eventType == hs.application.watcher.activated then
                hotkey:enable()
            elseif eventType == hs.application.watcher.deactivated then
                hotkey:disable()
            end
        end
    end)
    
    appWatcher:start()

    -- Remap app hotkeys
    remapAppHotkey("Finder", { "cmd" }, "q", { "cmd" }, "w", 0.5)
    ... etc ...


> terminal UI written in Go

> Linux only

Any particular reason for that? Are you using specific Linux APIs?

Just to clarify, this looks like a super helpful utility, something that I would personally use. The issue is that I noticed the installation instructions include a link to a prebuilt binary hosted on your website. Without providing access to the source code, you're asking users to trust executing an unknown binary on their system.


I no longer use GitHub for original projects. Source for fftool isn't public yet but I understand the concern — running an unaudited binary is a real ask. My site leans toward educational, so that people consider building the tool from the instructions in the article. I may host the source on the site as a zip or tarball at some point so people can more easily build it.

As for Linux API - TIOCGWINSZ via syscall.IOCTL to get terminal dimensions.

Why Linux and Go - Linux is the only OS I use. I like Go because it produces a single static binary with no runtime dependencies. Thanks for your interest.


I don't understand what this comment is trying to say.

> ... people consider building the tool from the instructions in the article ... so people can more easily build it

So what's the "less easy" way that people can build it from the instructions, if there's no source code?


Source code is now on the site: [bensantora.com/downloads/fftool-source.tar.gz] and .zip.

Build instructions are in the article.


You use charmbracelet/bubbletea for the TUI, which does seem to support Windows, what am I missing?


TIOCGWINSZ is a standard UNIX syscall, it works on Linux, BSD, and macOS.


Source is now on the site: [bensantora.com/downloads/fftool-source.tar.gz] and .zip. Build instructions are in the article.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: