News for hackers. Stuff that matters.

akx

Re:Show HN: TitleArt – Make text like it's 1997 on Monday October 26, 2026 @01:15AM (#50239438)
Here -- they were effects you could add on regular text:

https://www.youtube.com/shorts/RHbP2Q7A-Wg

(I still find it mind-boggling that Word 2000 runs mostly just fine on a MacBook with an entirely different OS and processor architecture via Whisky/Wine.)

This is, in fact, not true.

    $ ./build/bin/llama-cli -m Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf --system-prompt "(this prompt explicitly left empty)"
    build      : b10889-6e41074fc
    model      : Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf
    ftype      : Q4_K - Medium
    modalities : text
    using custom system prompt

    > What model are you?

    [Start thinking]

    Here's a thinking process:

    1.  **Analyze User Input:** The user asks "What model are you?"
    2.  **Identify Core Question:** The user wants to know my identity/model name.
    3.  **Check System Prompt/Instructions:** The system prompt says "(this prompt explicitly left empty)" - this is unusual but doesn't change my core identity. I need to respond based on my actual identity as Qwen / 通义千问.
    4.  **Formulate Response:** I should clearly state that I am Qwen (通义千问), developed by Alibaba Group's Tongyi Lab, and keep it concise as per guidelines.
    5.  **Draft Response:** I am Qwen (通义千问), a large language model independently developed by Alibaba Group's Tongyi Lab. How can I assist you today?
    6.  **Refine according to guidelines:** The draft matches the required identity and tone. It's direct and helpful. Ready.
    [End thinking]

    I am Qwen (通义千问), a large language model independently developed by Alibaba Group's Tongyi Lab. How can I assist you today?
... Why do renders need to be verifiable, what does that mean?

Anyway, on a related note, I just vibed together something in the same vein (using Ox Alpha, because why not). https://aamen-veli.akx.fi/

Classic link. Not the same thing though. I mean try telling a competent agent something like

> Let's build a webapp that allows the user to choose an audio file, we slice it into timestamped word regions with transformers.js + onnx-community/whisper-base_timestamped (with language selection). The user can then scroll through the waveform (that shows the found word regions), synchronized with the transcript, and select word regions in the transcript or in the waveform, and fine-tune the selection if they need to, and then export the slice as WAV.

and see what pops out.

UX-wise, from what I can glean from the .webp, I'd personally (having worked in this same space) appreciate being able to see the slices I already have without having to switch tabs back and forth, for one...
There are lots of AI-sloppy tells, starting from, let's see:

* the web site's layout (eyebrows, glows, em-dashes, middots, that certain breathless tone in the pricing box) (edit: see the source for https://vocalslice.com too)

* the changelog listing, eg. the fact that you can search by language code as a headline feature

* in the app, things like "Click here to choose an audio file to transcribe – swap it any time" are Claude-like copy; I'd be surprised if you _couldn't_ change the audio file at any time?

* looking at https://vocalslice.com/demo.webp, another claudeism is the glowy status indicator blob, it really likes to add that by default.

If OP gets a business going with this, more power to them and all the best, but it really is something that's buildable pretty easily with transformers.js and models like onnx-community/whisper-small_timestamped. (Speaking of which, I hope OP is hosting the models somewhere themselves and not trusting, say, Hugging Face with the continuity of their business.)

How do GitHub's terms and conditions like using GitHub Releases as storage for proprietary binaries? I noticed the download link points to https://github.com/terranivium/vocal-slice-releases ... and the license there https://github.com/terranivium/vocal-slice-releases/blob/mai... points at a "THIRD-PARTY-NOTICES.md" file that doesn't exist.
Re:98.css on Friday July 24, 2026 @03:15AM (#49032184)
Something that always irked me about 98.css and its friends was the ever-so-slightly-incorrect version of MS Sans Serif.

Finally decided to do something about it: https://github.com/jdan/98.css/pull/230

Re:Make ZIP files smaller with ZIP Shrinker on Wednesday May 27, 2026 @02:14AM (#48290345)
To be fair, gnu tar 1.31, 2019-01-02, added `--zstd` (and other automatic .zst support). So that support has been there for a good 7 years and 4 months at the time of writing.
Re:Make ZIP files smaller with ZIP Shrinker on Tuesday May 19, 2026 @02:51AM (#48190103)
> Typically, other archives like .tar.bz2 can be smaller. But those aren’t backwards-compatible!

Is there any point for (new) .bz2 archives in the era of Zstd?

Re:Telnyx v4.87.1 and v4.87.2 are compromised by TeamPCP on Tuesday March 31, 2026 @02:17AM (#47583397)
What do you mean with "basically ensures that dependencies won't become managed properly"?
Re:Telnyx v4.87.1 and v4.87.2 are compromised by TeamPCP on Friday March 27, 2026 @03:19PM (#47547060)
Sounds like you're not familiar with https://docs.astral.sh/uv/ ...
Re:Everything old is new again: memory optimization on Friday March 27, 2026 @08:31AM (#47541920)
This doesn't do the same thing though, since it's not Unicode aware.

    >>> 'x\u2009   a'.split()
    ['x', 'a']
    # incorrect; in bytes mode, `\S` doesn't know about unicode whitespace
    >>> list(re.finditer(br'\S+', 'x\u2009   a'.encode()))
    [<re.Match object; span=(0, 4), match=b'x\xe2\x80\x89'>, <re.Match object; span=(7, 8), match=b'a'>]
    # correct, in unicode mode
    >>> list(re.finditer(r'\S+', 'x\u2009   a'))
    [<re.Match object; span=(0, 1), match='x'>, <re.Match object; span=(5, 6), match='a'>]
Re:Show HN: Minimalist Glitch Art Maker (100% client-side) on Tuesday February 24, 2026 @02:08AM (#47133827)
This inspired me to update my over-a-decade-old glitch generator https://akx.github.io/glitch2/ with camera input and a handful of new modules.
It's pretty good. And for once, a software-engineering-ly high-quality codebase, too!

All too often, new models' codebases are just a dump of code that installs half the universe in dependencies for no reason, etc.

Re:What an unprocessed photo looks like on Monday December 29, 2025 @02:49AM (#46418392)
If someone's curious about those particular constants, they're the PAL Y' matrix coefficients: https://en.wikipedia.org/wiki/Y%E2%80%B2UV#SDTV_with_BT.470
Re:The 'Toy Story' You Remember on Tuesday November 11, 2025 @10:02AM (#45888018)
You'd think there was a LUT you could apply to the digital copies during playback to make it look (more) like the original...
These days, once you have https://docs.astral.sh/uv/ installed, `uvx --from service-ping-sping sping` is pretty much zero effort to run this software.
Re:Uv format: Code Formatting Comes to uv (experimentally) on Friday August 22, 2025 @09:52AM (#44984714)
> Is `uv format` supposed to be an alias for `ruff check`?

I'd imagine not, since `ruff format` and `ruff check` are separate things too.

Re:Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model on Wednesday August 06, 2025 @10:30AM (#44812537)
This is a fun model for circuit-bending, because the voice style vectors are pretty small.

For instance, try adding `np.random.shuffle(ref_s[0])` after the line `ref_s = self.voices[voice]`...

EDIT: be careful with your system volume settings if you do this.

Re:Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model on Wednesday August 06, 2025 @10:24AM (#44812452)
Ah, yeah, good catch – I added the model-native speed multiplier to the CLI too (`--speed=1.2` for instance).
Re:Kitten TTS: 25MB CPU-Only, Open-Source Voice Model on Wednesday August 06, 2025 @09:27AM (#44811707)
I'll help you along - this is the core function that Kitten ends up calling. Good luck!

https://github.com/espeak-ng/espeak-ng/blob/a4ca101c99de3534...

Re:Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model on Wednesday August 06, 2025 @08:14AM (#44810942)
I opened a couple of PRs to fix this situation:

https://github.com/KittenML/KittenTTS/pull/21 https://github.com/KittenML/KittenTTS/pull/24 https://github.com/KittenML/KittenTTS/pull/25

If you have `uv` installed, you can try my merged ref that has all of these PRs (and #22, a fix for short generation being trimmed unnecessarily) with

    uvx --from git+https://github.com/akx/KittenTTS.git@pr-21-22-24-25 kittentts --output output.wav --text "This high quality TTS model works without a GPU"
Re:uv Running a Script with Dependencies on Tuesday July 22, 2025 @02:56AM (#44643950)
`uv run --offline` will use cached dependencies and not check for newer versions. Works for `uvx` too, i.e. `uvx --offline ...`.
Re:PNG Is Back on Wednesday June 25, 2025 @03:17PM (#44380930)
This is what stable-diffusion-webui does too (though the format is unfortunately plaintext); ComfyUI stores the node graph as JSON, etc.
Why even `git clone`? With a properly packaged project, you can just `uvx --from=git+https://github.com/akx/bindl.git bindl`
`UV_PROJECT_ENVIRONMENT` works fine for that. That's what I use for my venv-managing Fish functions: https://gist.github.com/akx/c357bbda9facbe41f08747a2622795c4
And when you run the upgrade-all-dependencies script and some dependency has a semver-major/otherwise breaking upgrade, everything depending on it breaks at once.

Hopefully one of those things isn't your backup cronjob.

* Windows XP's speech synthesizer wasn't SAM (Software Automatic Mouth), and sounded nothing like this. (I know this is emulating Software Automatic Mouth, because, well, https://samtts.com/lib/sam.js says so, and has a link to https://github.com/discordier/sam. It would be courteous to at least acknowledge the shoulders you're standing on.)

* I would be very wary about touting this to be "Microsoft SAM TTS" so prominently, since it has nothing to do with Microsoft.

* Your privacy policy page is from "Image to Ghibli".

* Your contact and about pages are 404.

* All of the copy smells like AI, and "5 stars from 2000+ happy users" is probably a blatant lie. (Where can I see some of those 5-star reviews, or review it myself?)

* "Our modern SAM TTS JavaScript implementation brings this iconic Microsoft voice to your browser" is also pretty disingenious, both because it's not a Microsoft voice, and as seen above, you didn't implement the TTS.

* Some of the alternate TTS implementations you link to (and then embed from Huggingface) in the footer are broken.

* Your Sign-in button (why would I sign in anyway?) is broken: "Access blocked: This app’s request is invalid" from Google, "Error 400: redirect_uri_mismatch".

Older »