Preferences

Leftium
Joined 1,721 karma
email: john@leftium.com

leftium.com

Leftium: The Element of Creativity!


  1. https://weather-sense.leftium.com

    - The first half was all manually coded, no AI.

    - Claude Opus 4.5 helped add several features I had been planning.

    Some features were added on a whim because AI makes experimenting so cheap. Like the UI color gradients reflecting the color of the sky based on time of day.

    Just needed to point Claude at https://hw.leftium.com/#/item/44846281. Then we worked together to tweak the palette colors and UX (like smoothly transitioning between colors, tweaking more vibrant sky colors)

    Open source: https://github.com/Leftium/weather-sense

  2. I'm not sure if !cobalt would meet Kagi's guidelines for public bangs.

    Eventually, zBang will execute bangs locally before falling back to a Kagi network call. It's open source: https://github.com/Leftium/zbang

    I just remembered my other project can support cobalt. Just enter the youtube URL and press ENTER (or click the buttons): https://mm.leftium.com?p=C4S2BsFMAIF5oEQGED2AjAhuY0AikBbFBAK...

    - The link above embeds the cobalt "launch plan" (config) in the URL, but it could also be added as one of the built-in plans like https://mm.leftium.com/svelte.

    - Also open source (and very simple to deploy): https://github.com/Leftium/multi-launch

    ---

    But what's the difference between these two?:

    1. Go to https://nilch.org and search for `!cobalt YOUTUBE URL`

    2. Go to https://cobalt.meowing.de and search for the YOUTUBE URL

    I think #2 is actually simpler for that person you are trying to help.

  3. (replying to dead reply downthread)

    Kagi (custom) bangs[1] already supports `!cobalt <youtube video>`

    I just added !cobalt to my custom bangs as `https://cobalt.meowing.de#%s`, and it works.

    Kagi also accepts new public bangs: https://github.com/kagisearch/bangs#contribution-guidelines

    Kagi bangs are free for everyone (a subscription is required for custom bangs and regular search).

    - Example of how to use Kagi bangs without subscription: https://kagi.com/search?q=!chatgpt+TEST

    - https://zbang.leftium.com/ uses Kagi bangs under the hood.

    [1]: https://help.kagi.com/kagi/features/bangs.html#custom-bangs

  4. Deeply nested comments become nearly unreadable. For example: https://hnplusplus.vercel.app/item/46288491

    - comments are pushed all the way to the right side, in a very narrow column

    - also must scroll down several screens of just colored stripes

    Loading of nested comments could be sped up by using an unofficial API like https://github.com/cheeaun/node-hnapi

    - This API sends all the child items of an item at once

    - (However due to aggressive caching, many recent children could be missing)

    I would add a max-width to the top nav, too. At 2560x1440, the top nav stretches all the way to the corners, making them hard to reach. (Also looks weird with the max-width of the content.)

    Some items have over-sized favicons

    - It seems to be the job posts, which all lead to 404s

    Perhaps some settings to adjust the font. I find the font too small/light.

    ---

    Here are some ideas you may consider taking from my HN frontends (they are both MIT open-source)

    - Latest version: https://hn.leftium.com

    - Still rendering comments from older version: https://hw.leftium.com

    - Based on the HN clients I found most readable: https://hackerwebapp.com (with some ideas from https://hckrnews.com)

    Mobile page down: tapping the numbers scrolls that item to the top. I find this more ergonomic than scrolling on mobile.

    I reduced items down to two lines to fit more items per screen. I noticed I don't use the poster's id to to decide which items to open so I only show the poster's id on the item page itself.

    Items always open comments; the posted URL can be opened from the comments page. (Personally, I always read the comments, and sometimes don't even open the original URL.)

    I find highlighting the OP's id useful. I plan to also add toggle highlighting of other specific user ids.

    Seeking orange: I highlight items that pass a certain points/comments threshold. First just the icon, then the number, too. Helps more interesting items stand out.

    When I re-implement comments, I plan to create a view that focuses on top-level comments and reading a single "thread" at a time.

    - So you can choose which conversations to read.

    - There will also be a way to expand all the comments for certain users that are more interesting (like the OP).

  5. The layout/pixel density remains exactly the same (you can also get better scaled resolutions, if desired). (Most) things just look less fuzzy.

    It's hard to find good before/after shots. The difference is much more dramatic in real life:

    - https://www.reddit.com/r/mac/comments/10oy6xo/i_use_switchre...

    - https://youtu.be/eyckJiws_30

  6. My HN reader supports all those /* urls. (Plus chronological order from HckrNews!)

    https://hn.leftium.com/config

  7. - There is a direct HN link at the top of the linked page.

    - It is simple to construct/figure out the direct HN link if the site ever fails to work.

    - I find the linked site easier to read. (Especially on mobile and/or dark mode.)

  8. My 30-inch 2560x1440 external monitor looked fuzzy/blurry on MacOS until I forced HiDPI. (Mac mini)

    MacOS only offers HiDPI for certain resolutions. There is a free OSS program that unlocks HiDPI for other resolutions: https://github.com/waydabber/BetterDisplay

    I just tried disabling HiDPI at 2560x1440, and it looks quite bad! With HiDPI, I'd say it looks similar (if not better) than Windows.

  9. There was a very similar story about a month ago: https://hw.leftium.com/#/item/45766253

    Good luck~

  10. Kagi maintains an update-to-date list of bangs[1]:

    - Kagi redirects bang searches even if you are not a member/logged in

    - ChatGPT: https://kagi.com/search?q=!chatgpt+test

    - Grok: https://kagi.com/search?q=!grok+test

    - Copilot (sadly copilot no longer accepts queries from the url params): https://kagi.com/search?q=!copilot+test

    - there are internal Kagi bangs for Gemini: https://github.com/search?q=repo%3Akagisearch%2Fbangs+gemini...

    - no redirect bang yet for Gemini; you can open an issue and/or pull request

    ---

    [1]: https://github.com/kagisearch/bangs

  11. Effectively the same. (If your project's resume.md had your details, would it prevent others from using it as a tool?)

    Steps for a user to create their own resume (locally):

    1. clone repo

    2. update the resume.md file

    3. run the server locally `npm run dev --open`

    4. print from browser (as PDF)

    - My version happens to contain a web server that serves the HTML resume (among other pages).

    - You can also preview the results in real-time as you edit the MD file.

    ---

    Compare to steps with your tool:

    1. clone repo

    2. update the resume.md file.

    3. run `make`

    (I omitted all the setup steps for the sake of comparing the major steps. I suppose if I added a makefile, the steps would be exactly the same.)

  12. Interesting, I created two similar projects:

    1. markdown resume:

    - https://leftium.com/resume

    - plain-text version is human-friendly: https://leftium.com/resume?text

    - also renders OK on Github: https://github.com/Leftium/leftium.com/blob/main/src/routes/...

    - PDF version is produced by printing from browser. (Try Cmd-P)

    ---

    2. invoice generator

    - Uses shell scripts instead of make

    - Uses weasyprint instead of wkhtmltopdf

    ---

    Some samples would be nice. Curious how the default output settings look.

  13. There is a way to switch the bars to actual numeric dBM: https://www.techbout.com/display-iphone-signal-strength-in-n...

    (Probably a way to do it on Android, too)

    A CSR showed me this while debugging network connectivity issues with my phone.

  14. iOS Safari has a special "QR" menu if you long-tap a QR code.

    And this is built in to Android OS: "Search your screen" or "Circle to Search."[1]

    [1]: https://www.android.com/ai/circle-to-search/

  15. This was the motivating idea for Epicenter Assistant[1] (Prompt your AI coding agent while carrying boxes of pizza home)

    - Connect to your opencode sessions via a web interface, connecting via a secure tunnel.

    - (Optionally) use a transcription app to prompt the coding agent. (Since typing code is more difficult on a phone.)

    I'm not sure if Epicenter Assistant will be developed any further...

    Vanilla opencode has a feature for sharing web links to sessions, but these are read-only.[2]

    [1]: https://github.com/epicenter-md/epicenter/tree/main/apps/sh

    [2]: https://opencode.ai/docs/share/

  16. And now there is a third variation, sanitize.css, which is the one I decided to use: https://github.com/csstools/sanitize.css

    Used here: https://github.com/Leftium/news/blob/0d507aecd05dfe94853d278...

  17. I chose to share the one that seemed more recent/maintained.

    Brief history/explanation from: https://github.com/csstools/normalize.css/#differences-from-...

    > Nicolas Gallagher and I started writing normalize.css together. I named and created the normalize.css repository with the help of Paul Irish and Ben Alman. I transferred the repository to Nicolas, who turned it into a “household” CSS library.

    > Later, I resumed authorship of normalize.css with Luciano Battagliero. Together, we tagged, deprecated, and removed “opinionated” styles — styles developers often prefer but which do not fix bugs or “normalize” browser differences.

    > Later, Nicolas resumed authorship and the issue of whether to include or omit the opinionated styles forced us to split.

  18. I used to be unable to log in unless I entered my username with a capital L.

    I just tried with a lowercase L and it worked.

  19. Raycast configures the Hyper key as ⌃⌥⇧⌘; if shift key is optionally excluded: ⌥⇧⌘

    I like excluding the shift key:

    - ctrl-option-cmd is simple to press even without special key mappings

    - simple to add shift (esp. with a CapsLock mapped to ctrl-option-cmd)

    I also mapped tab to an "Ultra" key: shift-hyper (shift-ctrl-option-cmd)

    ---

    several other references map "meh" to shift-ctrl-option, and "hyper" to shift-ctrl-option-cmd. I find those less logical/ergonomic and prefer matching Raycast's convention.

  20. - macOS does not send TRIM commands to USB-C 3.2 Gen 2 enclosures

    - TRIM commands are crucial for informing the SSD firmware that certain blocks are available for rewriting

  21. I'm curious why you need navigation like this. Is it like selecting text while you read? (I didn't know that was a thing until I read comments about that.)

    I find it easier to just read the comments.

    I doubt the official HN will ever add this feature, but it seems feasible as a TamperMonkey script or even browser extension.

    I will consider including a feature like this when I rewrite https://hw.leftium.com

  22. I just discovered RayCast's window manager[1].

    - The "cycle 1/2, 2/3, and 1/3" feature is amazing.

    - As well as optional (CapsLock as) HYPER key[2].

    (Still using Magnet for the activation areas)

    The one thing Rift offers that I needed was: "Focus follows the mouse with auto raise"

    I managed to find it here: https://github.com/sbmpost/AutoRaise

    [1]: https://www.raycast.com/core-features/window-management

    [2]: https://manual.raycast.com/hyperkey

  23. I'm developing a web app that makes it easier to view Google sheets (and forms) on mobile. My solution is:

    - Expandable rows

    - Optional custom row summary

    - By default, the row summary is just as much of the row that fits.

    - Some data in the row summary is shortened (like a timestamp is reduced to just a date or relative date)

    - Sticky header row (with the column titles)

    Live demos:

    - Custom summary rows: https://veneer.leftium.com/base/g.chwbD7sLmAoLe65Z8/list

    - Sticky header rows: https://veneer-nd4fdlulz-leftium.vercel.app/v/s.1mJ_jtZuqL40...

    Source code: https://github.com/Leftium/veneer

  24. It's a matter of trade-offs.

    In theory, Handy could be developed by hand-rolling assembly. Maybe even binary machine code.

    - It would probably be much faster, smaller and use less memory. But...

    - It would probably not be cross-platform (Handy works on Linux, MacOS, and Windows)

    - It would probably take years or decades to develop (Handy was developed by a single dev in single digit months for the initial version)

    - It would probably be more difficult to maintain. Instead of re-using general purpose libraries and frameworks, it would all be custom code with the single purpose of supporting Handy.

    - Also, Handy uses an LLM for transcription. LLM's are known to require a lot of RAM to perform well. So most of the RAM is probably being used by the transcription model. An LLM is basically a large auto-complete, so you need a lot of RAM to store all the mappings to inputs and outputs. So the hand-rolled assembly version could still use a lot of RAM...

  25. I don't think it's possible (yet), but only the last five recordings are stored.

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal