1,808 karma · joined August 24, 2010
leftium.com
Leftium: The Element of Creativity!
Special features:
- similar concept to Keyjump queries: the links change to search templates if the query input has a value
- it can launch multiple bookmarks/queries at once (the blue category buttons)
---
The next version is based on the realization search bangs are bookmarks + search templates: https://zbang.leftium.com
- Unique feature: double-keypress is effectively keyboard shortcut that also works on mobile! (FF to toggle fullscreen, QQ to select first result...)
- Right now it's just a list of search bangs, but this list will be moved to a slash command
- Then the list will be replaced with your own bookmarks, sorted by "frecency," with favorites pinned to the top.
- Another tab will list your bookmark (search) history: a sort of "zero effort" journal. (I switched to Kagi, which lacks search history. And browser history is insufficient.)
- Another tab can contain your notes (like SimpleNote)
- I may even integrate dictation, so you don't even have to touch the keyboard (https://rift-transcription.vercel.app)
I've been using mdserve. A nice feature is a sidebar that lists all the MD files in a directory. I wish it could also list sub-directories.
The reason is because I organize related MD files in directories, with sub-directories. Folders without MD files should be filtered out.
Here is an example project with MD files in both reference and specs (and root) folders. Other folders should be filtered out: https://github.com/Leftium/rift-transcription
---
The brew install did not work; the App source name is wrong: `Error: It seems the App source '/opt/homebrew/Caskroom/markdown-prism/0.2.0/Markdown Prism.app' is not there.`
While this may be possible, it likely requires a very detailed prompt and/or spec document.
---
Here is an example of something I successfully built with Claude: https://rift-transcription.vercel.app
Apparently I have had over 150 chat sessions related to the research and development of this tool.
- First, we wrote a spec together: https://github.com/Leftium/rift-transcription/blob/main/spec...
- The spec broke down development into major phases. I reviewed detailed plans for each phase before Claude started. I often asked Claude to update these detailed plans before starting. And after implementation, I often had to have Claude fix bugs in the implementation.
- I tried to share the chat session where Claude got the first functional MVP working: https://opncd.ai/share/fXsPn1t1 (unfortunately the shared session is truncated)
---
"AI mistakes you're probably making": https://youtu.be/Jcuig8vhmx4
I think the most relevant point is: AI is best for accelerating development tasks you could do on your own; not new tasks you don't know how to do.
---
Finally: Cloudlflare builds OAuth with Claude and publishes all the prompts: https://hw.leftium.com/#/item/44159166
(And I initially thought "TabChop" would be a windows management tool: split windows...)
- Simplest: just divide total by N people
- Different subtotals for food, alcohol, and drinks
- The most complex is probably: food is split evenly, but individuals claim beverages. (And there are some cases where certain food items are also claimed.)
Usually one person is the "treasurer:" they pay the entire bill and make a chat room to finalize with other members (share a table of who owes what and maybe send payment requests)
Interestingly, KakaoTalk has a built-in feature to split bills in this manner. It's not intuitive to use, so a lot of people just do it manually.
- "Requires macOS 14+ (Sonoma) or later."
- Tried on macOS v15.7.3 (Sequoia)
The main disadvantages are more complexity and performance issues.
Examples:
- Event sourcing: https://youtu.be/8JKjvY4etTY
- CRDT
- At the DB layer: https://www.datomic.com
- You can also do it at the code level (but this is more like keeping copies of the old state): https://immerjs.github.io/immer
I'm curious if Coi will also suffer from the drawbacks of compile-time reactivity. Or as its own language that doesn't have to "fit" into JS, can Coi side-step the disadvantages via syntax?
Runes allowed simpler Svelte syntax while making it more clear, consistent, flexible, and composable.
Support for signals may help in terms of interop with native browser JS and other frameworks: https://github.com/tc39/proposal-signals
I wanted to figure out reasonable values for range of daily/hourly precipitation for https://weather-sense.leftium.com. Claude wrote a script to call the Open Meteo API to collect hourly stats for a few cities for an entire year (8000+ rows), then just reported the 80th, 90th, etc percentiles and recommended ranges.
Context (the author): https://en.wikipedia.org/wiki/Why_the_lucky_stiff
For example, I had a client who wanted me to build a web site that hosted her piano lessons. She was sure if only they were hosted somewhere, people would flock to it.
I tried to tell her what she really wanted was marketing and sales, which the web site could be a small part of. She insisted so we built the site anyway. I don't think it's ever gotten any sales...
- Adds markdown support
- Makes it prettier, especially on mobile
- Adds open graph social sharing image/title
Based on actual convention used by (dance) groups in Korea to use Google forms for event sign ups. It doesn't require changing their workflow: the original forms still work (as a fallback), they just need to share a different URL based on the form ID.
I've shown Veneer to several dance group organizers who use these Google forms on a regular basis. While two people have embraced the concept and registered their custom domains for their forms most people are surprisingly hesitant to use Veneer. Objections I've heard:
- Already have a workflow; don't want to learn something new
- Know how to program themselves, can make themselves if needed
- Already registered an unused domain, but have other plans for the site
- Prefer simple (even though I simplified: https://red.leftium.com)
Each Veneer page has a link to the original Google form and sheet. (Also a link to the full MIT-licensed source.) Here is the only one that is "in production:" https://viviblues.com
- If you just paste an outerHTML from the dev tools, AI coding agents can immediately figure out what it will look like; debug styles; etc.
I personally preferred PicoCSS for a long time. Pico was nice, but it injected a lot of CSS var noise into the dev tools and I started fighting with the breakpoints.
More recently, I've been just doing handcrafted CSS with a bit of OpenProps.
Weather uncertainty may make that extra precision less useful.
- Now most gradients are disabled by default. (toggle here: https://weather-sense.leftium.com/wmo-codes)
- Also added shadow/glow to plot lines so they "pop out" more.
I'm not sure which parts you think are blue and teal. Open to suggestions for better colors! (There are only so many colors, and I like keeping the precipitation related colors all bluish.)
- Toggling C/F also toggles the scale on the radar to km. Eventually, I will get around to adding a dedicated settings page.
- However, the app was designed so one could get a sense of the weather without numeric labels: temperature is a very relative experience, so use the spatial/color cues to compare yesterday, today, and forecast days.
- Notice now much more space C needs when toggling between C and F. F's 0 to 99 range fits the natural range of temperatures humans experience (weather, body temperature). Humans just don't experience anything beyond 50 degrees C. At the same time, a single delta C is too large for the precision human bodies can detect. (Humans need something closer to 0.5C precision, which is what 1 degree F is.)
- As as result C needs nearly twice as much horizontal space compared to F: due to going negative more often and needing an extra decimal for minimal precision required.
There's a screen shot showing what it used to look like before gradients: https://github.com/Leftium/weather-sense
So true.
Open Meteo supports 28 different WMO weather condition codes[1]. Most weather apps only support half as many. (Just "rain" instead of light/moderate/heavy rain.)
Showing all 28 is less helpful because of the noise. More useful just to show it might rain for a period of several hours vs oscillating between light rain and heavy rain. The light vs heavy precision wasn't worth it when there was high uncertainty whether it would even rain at all.
So https://weather-sense.leftium.com consolidates hours with similar weather conditions into a single segment by default. You can click on the weather icons at the left of the plots to toggle the original unconsolidated view.
I've noticed there is a correlation, but having both is useful:
- Often there is a percentage chance, but the mm/hr is 0. At these times, it could rain but will probably be very light.
- Less common, but sometimes there is 0% chance, but a non-zero mm/hr.
- https://weather-sense.leftium.com/?n=nyc
n is short for "name" and uses the Open Meteo geocoding API[1].
Toggle only the stats you're interested in! The toggle is persisted to localStorage.
I plan to add more stats, like wind speed and direction, but they will all be toggle-able.
Even without any text labels, you should be able to get a feel for what the weather is and how it will change:
- Hourly plots like Dark Sky, with everything (temperature, rain, AQI, weather conditions) in a single plot.
- The change in temperature visualized with both color and space. Space is obvious (higher -> hotter); color ranges from red for hottest to blue for coldest. All the visible plots share the same color-temperature mapping. So the gradient block to the left shows both the temperature range for that day as well as how it compares to other days.
- Finally, there is a weekly overview at the top.
- The data is from https://open-meteo.com
- It would be trivial to connect the historical weather API (back to 1940): https://openmeteo.substack.com/p/processing-90-tb-historical...
Some differences:
- Shows weather from yesterday for comparison
- All hourly plot trackers connected; not just the top one
- Includes AQI
- Sky color visualization (try scrubbing across dawn/dusk!)
- Non-precipitation colors approximate sky color (haziness)
- Temperature variation visualized both spatially and with colors
- Data source is Open Meteo
- Planned: 60 minutely forecast like https://openweathermap.org
- 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
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.
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