HN user

Leftium

1,787 karma

email: john@leftium.com

leftium.com

Leftium: The Element of Creativity!

Posts77
Comments836
View on HN
zoia.org 1mo ago

The Slow Death of Simplenote

Leftium
2pts0
github.com 1mo ago

LibreWXR: Self-hostable, drop-in replacement for the Rain Viewer API

Leftium
2pts0
fx.leftium.com 1mo ago

Show HN: Realistic procedural fire effect via naive algorithm

Leftium
3pts0
www.escapemotions.com 1mo ago

Fluid Fire Simulation Sandbox

Leftium
6pts0
fx.leftium.com 1mo ago

Show HN: Antimemetic message that escapes screen capture

Leftium
3pts0
www.usebutter.com 2mo ago

Build Video Tools with Code (customizable video components using p5.js)

Leftium
1pts1
leftium.github.io 3mo ago

Show HN: Nimble.css minimal classless CSS library for great-looking default HTML

Leftium
4pts1
weather-sense.leftium.com 3mo ago

Show HN: Beautiful intuitive weather forecasts that don't rely on numbers/units

Leftium
4pts7
videojs.org 4mo ago

Video.js v10 Beta: Hello, World (again)

Leftium
2pts0
weather-sense.leftium.com 5mo ago

Show HN: Weather forecast/visualization without numbers

Leftium
1pts0
www.benedelman.org 6mo ago

Honey's Dieselgate: Detecting and Tricking Testers

Leftium
10pts1
hn.leftium.com 8mo ago

Show HN: HN reader with "Page Down" for mobile and other QoL tweaks

Leftium
2pts0
csstools.github.io 9mo ago

Normalize.css

Leftium
69pts54
kevinkipp.com 9mo ago

Meh and Hyper for Normal Keyboards (2023)

Leftium
6pts1
www.youtube.com 9mo ago

Why macOS wrecks maxed-out USB-C SSDs [video]

Leftium
4pts2
handy.computer 9mo ago

Handy – Free open-source speech-to-text app written in Rust

Leftium
237pts98
windowsread.me 10mo ago

The best YouTube downloaders, and how Google silenced the press

Leftium
579pts243
leftium.com 10mo ago

Show HN: Simple markdown resume; fancy rendered HTML/PDF

Leftium
3pts0
stackoverflow.com 10mo ago

Why are margin/padding percentages in CSS always calculated against width?

Leftium
2pts1
www.firelabcommunity.com 11mo ago

Firelab Community: Build Your Business Now

Leftium
2pts0
news.ycombinator.com 1y ago

Show HN: WeatherSense – The feature missing from all other weather apps

Leftium
2pts4
tibees.com 1y ago

A Guide to Making Friends in the Fourth Dimension

Leftium
1pts1
robotist.com 1y ago

Best Realtime Sync Engine (2024)

Leftium
2pts0
www.marticliment.com 1y ago

Graphical Interface for your Windows package managers

Leftium
2pts0
legcord.app 1y ago

Lightweight, customizable Discord client that puts you in control

Leftium
1pts0
www.smashingmagazine.com 1y ago

Utopia: Designing and Building with Fluid Type and Space Scales (2021)

Leftium
1pts0
www.youtube.com 1y ago

Abort Controller is criminally underrated [video with text]

Leftium
1pts1
netfuture.ch 1y ago

Array Thickening: More can be less (2021)

Leftium
2pts0
t3.chat 1y ago

T3 Chat – The Fastest AI Chatbot

Leftium
4pts5
pockethost.io 1y ago

Pocker (Custom Docker Alternative for PocketHost/Pocketbase)

Leftium
1pts0
Transcribe.cpp 2 days ago

That was one of the main motivations for: https://rift-transcription.vercel.app

I think I prototyped the most fluid real-time streaming transcription experience. For example, you can interrupt/intersperse the realtime transcription with keyboard input.

If you click "Replay..." in the demo above, it shows an actual transcription use case (Black represents typed text, the colored text was dictated):

- Say "Left"

- Type `ium:` (because no model has been able to transcribe my username; special characters are hard)

- Continue dictating...

I think the cause might stem from a larger issue: LLMs are trained to err on the side of caution. This is probably a good default, but can often get in the way.

When I use coding agents to help with prose, they default to bending over backwards to avoid any absolutes or otherwise risky text that might offend someone. (For example, an LLM would add a lot of hedging to my previous sentence to clarify I haven't tried all LLMs, soften the language, etc...)

While I understand the intent, it often makes the text verbose and awkward. So usually the suggested text is safer, but at the same time harder to read.

Another example is always planning/implementing a path for backwards compatibility/migration even when the project is still a prototype where the only user is myself.

Theo video based on data from Tencent's Autocodebench: https://youtu.be/iV1EcfZSdCM

Conclusion: Elixir was the best (had the highest problem solve rate).

Reasons (Theo's interpretation):

- code collocation, where documentation is integrated directly within the source code

- design philosophy of a language (readability, clear idioms, and strict expectation management)

---

Sources from video:

- https://github.com/Tencent-Hunyuan/AutoCodeBenchmark/tree/ma...

- https://martinalderson.com/posts/which-programming-languages...

- https://simonwillison.net/2026/Jan/19/nanolang/#atom-everyth...

Here is a good recent comment-heavy thread to stress-test: https://www.orangecrumbs.com/hn/?story=48736605&feed=top

Some things I noticed:

- The comments are not in HN order; "vibecoded prediction market–style" is at the top in OrangeCrumbs, but near the bottom on actual HN; actual top comment ("I'm struggling to understand why I'd ever use this instead") is buried in the middle on OrangeCrumbs.

- Other comment sort options are interesting

- It is difficult to read a deep thread. Requires clicking once for each level. (I just found keyboard shortcuts that kind of help, like [)

- The left and right sidebars are kind of distracting. So I find the mobile view easier to read. I do think sidebar can be better use of wide screens; perhaps try muting the sidebars and/or allow them to be toggled? I find the right sidebar more useful than the left one.

- Keyboard navigation: conflicts with Vimium. The only "natural" keyboard shortcuts I could discover were arrow keys + SPACE. (`?` was also natural, but unfortunately Vimium had priority.) Personally, I prefer skimming HN threads with the mouse scroll wheel and a few occasional clicks. (It seems it would require a lot of keyboard shortcut keys for a similar reading experience)

---

Here's my take on rendering comment-heavy HN threads: https://hn.leftium.com/i/48736605

- Render comments at 3 levels of detail: Full (top level), one-line excerpt (2nd level), grouped into single color strip (everything else)

- Make threads expandable at three levels of detail:

1. Expand all direct replies only

2. Ungroup: expand collapsed comments as one-line excerpts

3. Expand entire comment sub-tree.

This is the way I found myself wanting to read long threads: skim the top level or two for threads I found interesting. Keep recursively skimming like this for the interesting comment sub-threads.

Some other features I plan to add:

1. Expand/highlight all comments by specific user(s). Currently OP is highlighted. (But not auto-expanded, yet.)

2. Filter for certain words in thread: typing a query automatically expands matching comments; parent comments may be expanded as one-line summaries for context.

So my reading process is scroll with the mouse wheel until I find an interesting comment thread; occasionally click to toggle those threads between collapsed and higher levels of detail.

While reviewing my Google search history, it was interesting to see what I was working on one year ago, two years ago. I didn't make any special effort to record what I was working on, the searches were completely organic.

I couldn't tell you exactly what I was working on one/two years ago. But I could tell you after seeing my search history.

That's how I came to the realization search history is a zero-effort journal. I started making a feature that is similar to search history, but focuses more on the journal aspect. You can add explicit journal entries. Search/browsing are focused on surfacing interesting patterns/entries vs. finding specific entries.

Very early WIP: https://whiz.leftium.com/journal

Examine your list of 10+ ideas you built. Can you identify the "starving crowd" for each of them? Does a starving crowd even exist?

Lots of ideas seem cool. Far fewer ideas are are easy to sell. And often the ideas that are easy to sell are not the same as the cool ideas.

That's why I think building/marketing ideas "backwards" can be more effective. Certainly less risky. First identify the "starving crowd." Then build a hamburger for them[1].

If you identify a painful problem, people will ask how to pay for it even before you start development. I've witnessed this in person. If you describe the problem better than the prospects themselves, they will just assume you have the solution.

---

[1]: "Starving crowd" story by Gary Halbert, one of the most successful marketers: https://www.thegaryhalbertletter.com/newsletters/direct_mark...

I've wondered if it would be possible (and beneficial) to make LLM's deterministic via a seed. Like how PRNG can specify a seed for repeatable deterministic pseudorandom numbers.

Theoretically, if you could specify a seed and the exact version of the model the output should always be the same. I wonder if this is possible with any open-weight models today?

---

On a more practical level, scripts (small programs) are deterministic so having the coding agent write (and possibly reuse) scripts might help.

- app logo/favicon generator: https://logo.leftium.com/logo

- classless CSS library: https://leftium.github.io/nimble.css

- HN client: https://hn.leftium.com

- local realtime streaming transcription prototype: https://rift-transcription.vercel.app

---

These projects were started without AI, but heavily augmented with coding agents:

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

- console.log replacement: https://github.com/Leftium/gg

- Thin layer over Google forms/sheets: https://veneer.leftium.com

https://fx.leftium.com (https://github.com/Leftium/fx)

Old-school graphics in modern TS.

Several years ago, it was not possible to blit an entire screen of random pixels to the screen at a decent frame rate without something like shaders.

Even though the screen is now even higher resolution, the CPU can now blast 2560x1440 random pixels to the screen at 90 FPS. Must be advancements in hardware and/or JS runtime. (The bottleneck seems to be generating the random numbers...)

I figured out how to make my TV static effect look more realistic:

- Mostly: TV "pixels" had wide aspect ratios[1]

- Larger "grains" (see info in corner)

- Also added subtle CRT scan line effect. ('C' to toggle)

- Looks different when animated (click to toggle pause; probably should emulate 60FPS).

---

Started revisiting this rabbit hole while thinking about programming prompts from the new Recurse Center application[2]. They suggest about six different prompts; I figured out how to combine all the prompts together.

[1] https://github.com/Leftium/fx/blob/33405b25dc7caeb48e6c563a3...

[2] https://hn.leftium.com/i/47892660

The main reason most openings are "Remote, US-only" is due to tax and labor laws.

By employing you, the US company must comply with all Australian tax and labor laws (in addition to the US laws). This is a huge burden. (Like the company must calculate and report how much revenue was generated through your work and pay Australian corporate income tax.)

Your best chance is to apply to US companies that already operate in Australia: they will have the necessary legal/HR infra set up. (For example Google probably has an office in Australia.)

---

Another method may be to work as a contractor through a service like https://www.toptal.com (or even on your own if you can find contracts).

unlimited downloads at just 400 kbps after their data allowances expire

This is not new. Many Korean mobile plans actually offer even higher unlimited throttled speeds (up to 10 Mbps!)

- You can filter plans by the unlimited throttled speed on this site. The plans are usually titled by `{data amount} + {throttled speed}`: https://www.moyoplan.com/plans

- Even if not throttled, I think data overage charges were capped at about $13 (20K KRW)

So perhaps unlimited 400 kbps will become standard: i.e. no plans will ever charge data overage fees?

---

The linked statement didn't seem to specifically mention the 400 kbps thing at all.

Ah, I see it must be the bug mentioned in another thread: https://news.ycombinator.com/item?id=47695328

There was no [OP] label when I first reloaded this page, and now after replying, I am marked as the [OP].

edit: it seems the [OP] relies on a URL hash with the ID of the OP. However, this doesn't work for me because I don't navigate to HN posts from the HN site.

I usually come from https://hn.leftium.com. (Or a page like https://hw.leftium.com/#/item/47694036)

I think the strategy you're suggesting is: "We lose money on every sale, but make it up in volume!"

If the resellers down the chain were purchasing your shoes for less then your cost, would you still be happy?

Say the resellers were abusing an 80% discount coupon. Anthropic is basically closing a 95% discount coupon that was being abused.

If OpenClaw users were paying the API rate, your strategy could make more sense.

The reason Anthropic is subsidizing inference is because they are trying to capture users (marketshare). However the acquisition costs for a single OpenClaw user is much higher. And OpenClaw users are less likely to convert into profitable users later.

---

In addition, there is a supply bottleneck. Currently Anthropic is having trouble servicing all the demand due to a shortage of GPU's. And in the current market it is impossible to get more GPU's (or at least prohibitively expensive).

Anthropic (and all other AI companies) also need GPU's to stay competitive: GPU's are needed to train better models. So you could view it as Anthropic has decided instead of subsidizing nonprofitable OpenClaw users, it is better to repurpose that GPU for internal R&D instead.

The gradients actually serve a purpose:

- You can see the weekly high/low temperature trends by scanning down vertically along the left.

- Redder color means warmer; bluer means cooler.

- The gradient is constant for all data plots, so you can visually compare the temperature across days and hours.

- The gradient block for each day goes from the high to the low temp for that day.

- Even the hourly temperature plot line is calibrated to the same gradient.

---

The sky background gradient is slightly superfluous, but it's very subtle and meant to emulate (a more vibrant) version of the actual sky.

For anyone who wants more gradients: there's a setting here: https://weather-sense.leftium.com/wmo-codes

I disabled those by default because they were distracting and didn't serve a purpose.