News for hackers. Stuff that matters.

arthur-st

Re:Nvidia – open-source auto-ontology on Tuesday November 03, 2026 @09:31AM (#50352451)
What they're saying is that if something is not worth the time needed to write it, it's not worth the time needed to read it either.
Re:Shipping JPEG XL in Chrome on Wednesday October 07, 2026 @10:02AM (#49993037)
iPhones have supported it for 3 years.
Re:Shipping JPEG XL in Chrome on Wednesday October 07, 2026 @09:58AM (#49993002)
Yes, but a lossless encode of a lossy copy of an image results in a lossy image functionally.
Re:September 2026: The world today, as seen by one Polish guy on Wednesday September 30, 2026 @09:06AM (#49908399)
The US very much has been trying to get Ukraine to surrender to Russia since Trump was elected. Quite nothing would seemingly please Trump more than Ukrainians rolling over and clearing the way to a fat kickback from Russia.
Re:The case against JPEG XL on Monday September 14, 2026 @10:13AM (#49697233)
Strange blog post. Given that it's from a developer of proprietary and paid commercial encoders, the inclusion of their upcoming "aperture-alpha" encoder on the charts that are purportedly about JPEG XL makes this feel like a marketing piece of some fashion. Certainly, they advertise their Iris-WebP encoder throughout the post, with an implication that if you haven't paid to the author for it, you're not using WebP correctly, I guess?

Moreover, there are some methodological oddities. For example, JPEG XL decoding is tested in single-threaded mode when it's optimized for multi-threaded decoding (where AVIF has artifacts from tiling). Also, the tested command is "jxl_cli --speedtest", which means that the benchmarked time includes the warm-up procedure of the "--speedtest" flag, rather than the pure decoding time.

Another example of this is progressive rendering, where the comparison moment is chosen at a local maximum that favors AVIF. JPEG XL materializes a full frame much sooner than AVIF, and starting at, say, the 96,256 B mark, it looks better than AVIF until the full image is loaded.

Yes, that's essentially the only practical reason.
Re:Another GitHub outage in the same day on Monday February 09, 2026 @03:38PM (#46950889)
Self-hosted Gitea is a good time if you're comfortable taking care of backups and other self-hosting stuff.
Re:Graphite Is Joining Cursor on Friday December 19, 2025 @05:46PM (#46331856)
There are two Graphite companies. The time series DB for metrics (not this) and the stacked diff code review platform (this). Looking at other comments under the post, they seem to have executed a hard AI pivot recently.
Re:Ty: A fast Python type checker and LSP on Wednesday December 17, 2025 @08:31AM (#46301753)
For real. I consider myself to be “into Python typing,” and yet I had no knowledge of Zuban before the parent comment and a very faint memory of Jedi.
Re:GPT-5.2 on Thursday December 11, 2025 @04:35PM (#46237490)
I mean, that is what the term implies.
Re:GPT-5.1: A smarter, more conversational ChatGPT on Thursday November 13, 2025 @04:25PM (#45920767)
OpenAI is BYOK-only on OpenRouter, which artificially depresses its utilization there.
Re:Claude Sonnet 4.5 on Monday September 29, 2025 @04:31PM (#45418403)
It is exactly that
Re:The unexpected productivity boost of Rust on Sunday August 31, 2025 @02:01PM (#45085347)
To be fair, you do get enums and pattern matching from base language.
Re:GPTs and Feeling Left Behind on Saturday August 09, 2025 @09:23PM (#44852007)
4o on ChatGPT.com vs. Opus in an IDE is like cooking food without kitchen tools vs. using them. 4o is neither a coding-optimized model nor a reasoning model in general.
I did work for a Russian financial multinational just before COVID-19, as a native Russian speaker, and it was a free-for-all mess interally. The IT side had a load-bearing, old-school sysadmin type with a personality for heroics.
Aider has been doing that for a long time now, it was the first project to do this afaik.
Re:OpenAI Reaches Agreement to Buy Windsurf for $3B on Tuesday May 06, 2025 @04:09PM (#43909120)
They have a healthy enterprise customer base, and an engineering team that clearly knows how to work with power users (which OpenAI is bad at).
Re:OpenAI Reaches Agreement to Buy Windsurf for $3B on Tuesday May 06, 2025 @04:02PM (#43909050)
They have an old-school enterprise sales operation that is doing superb work. Apart from that, ChatGPT's projects are useless crap (can't read other convos in a project; can't generate project documents from a convo), and so clearly they would get value out of just getting some developers who have built anything of use to a poweruser.
Re:Modern Latex on Monday May 05, 2025 @09:36AM (#43894989)
Having experience with digitizing a university textbook in physics by hand, this is a very nice LaTeX guide for everyone interested. One thing worth noting from 2025 perspective that the "default" local setup is most likely going to be VSCode with LaTeX Workshop[1] and LTeX+[2] extensions, and that you should use TeX Live on every platform supported by it (since MiKTeX and friends can lag). Also, use LuaTeX, as it's the officially recommended[3] engine since November 2024.

[1] https://marketplace.visualstudio.com/items?itemName=James-Yu...

[2] https://marketplace.visualstudio.com/items?itemName=ltex-plu...

[3] https://www.texdev.net/2024/11/05/engine-news-from-the-latex...

Re:Modern Latex on Monday May 05, 2025 @09:33AM (#43894954)
No, the parent clearly indicates that they consider XeTeX a worse choice than LuaTeX.
Re:Redis is open source again on Friday May 02, 2025 @07:07AM (#43868257)
> They weren't contributing before

That is not true. Companies like AWS had paid staff working as OSS Redis core maintainers before the licencing schism. This talk of "achieving their goals" is just bluster serving no reason other than damage control.

Pyright has semantic improvements (and also some differences) over MyPy. As for using the type checker as a language server, it's difficult to go back to “it's compiling” after you've had one stop you from typing bugs out in-flight.
Check if your configuration allows pyright to use other files in the workspace.
To round out the big 4, there's also Pyre from Meta. I haven't used it myself, as when I last checked it had a low number of PEPs covered, but I've heard some good words for it.
MyPy's rules are reference-grade, being as close to an official spec as we get until the Typing Council is done establishing their moat.

To understand shortcomings of MyPy, I strongly suggest reading pyright's documentation for how they compare: https://github.com/microsoft/pyright/blob/main/docs/mypy-com...

Quoting the pertinent part:

> Pyright was designed with performance in mind. It is not unusual for pyright to be 3x to 5x faster than mypy when type checking large code bases. Some of its design decisions were motivated by this goal.

> Pyright was also designed to be used as the foundation for a Python language server. Language servers provide interactive programming features such as completion suggestions, function signature help, type information on hover, semantic-aware search, semantic-aware renaming, semantic token coloring, refactoring tools, etc. For a good user experience, these features require highly responsive type evaluation performance during interactive code modification. They also require type evaluation to work on code that is incomplete and contains syntax errors.

> To achieve these design goals, pyright is implemented as a “lazy” or “just-in-time” type evaluator. Rather than analyzing all code in a module from top to bottom, it is able to evaluate the type of an arbitrary identifier anywhere within a module. If the type of that identifier depends on the types of other expressions or symbols, pyright recursively evaluates those in turn until it has enough information to determine the type of the target identifier. By comparison, mypy uses a more traditional multi-pass architecture where semantic analysis is performed multiple times on a module from the top to the bottom until all types converge.

> Pyright implements its own parser, which recovers gracefully from syntax errors and continues parsing the remainder of the source file. By comparison, mypy uses the parser built in to the Python interpreter, and it does not support recovery after a syntax error. This also means that when you run mypy on an older version of Python, it cannot support newer language features that require grammar changes.

Astral's type checker seems to an exercise in speeding up Pyright's approach to designing a type checker, and removing the Node dependency from it.

Re:Apple Watch Series 10 on Monday September 09, 2024 @04:27PM (#41493315)
This depends on the model, e.g., the non-entry level Forerunner series watches have had training load-related metrics for a while now. That said, Garmin is mainly a cardio watch, and by extension the Apple training load metrics seems to be giving a more presentable UX to the "default"[1] approach to cardio training load.

[1] https://evokeendurance.com/a-new-and-better-look-at-training...

Re:Zed on Linux Is Here on Friday July 12, 2024 @04:14AM (#40943583)
This was interesting, cheers!
Re:Zed on Linux Is Here on Thursday July 11, 2024 @04:50AM (#40934763)
> especially after ... the white house praise for rust

What's the threat model here, that Rust is a trojan language from the feds?

Re:Rye: A Hassle-Free Python Experience on Tuesday July 09, 2024 @08:16PM (#40922635)
Speaking about strictly PyTorch, it's actually elementary on the distribution side. I know that there are packages which do some weird setup magic at runtime, unfortunately, but pytorch is not one of them.

Installing it via the PyPI gets you the CPU version on Windows/macOS, and CUDA 12.1 on Linux. You can specify CUDA version explicitly, which you need to get CUDA on Windows, or CUDA 11.8 on Linux, by referencing the corresponding PyTorch package index, e.g., https://download.pytorch.org/whl/cu118 - cu118 means CUDA 11.8. Doing that explicitly is the normal practice, since in ML land you'll know your hardware well - no one is asking for tooling that automatically resolves CUDA/cuDNN/etcetra compatibility.

Hence, it hopefully follows that installing this with pip is trivial, you just need to maintain multiple requirements.txt files so that you specify the correct index URL where it's necessary. What I specifically want, then, is for someone to give me a UX where I don't have to maintain these requirements.txt files. I should be able to just specify arbitrary build environments* in pyproject.toml, and override the global default package index for specific packages in [platform-]specific build environments.

*Really, we're probably talking about combining blocks of optional dependencies into an ersatz build environment, but that's what they ultimately are for.

If I can then "compile" these build environments into properly reproducible lock files, and then use the dependency manager to export these lock files into conventional requirements.txt files with exact pins, then we've arrived at what I would call a good UX for specifying dependencies in Python.

To the best of my knowledge, for 99.9% of packages this doesn't require Docker. Different parts of this process work well across the ecosystem, just not as a matter of full package. To name a few

- Poetry has many building blocks, but just has had a questionable implementation as per parent you're replying to, and also random other problems like not working at all with private indexes back when I tried, and so on;

- pip-tools does the entire pipeline well, but it quite unfortunately doesn't support cross-platform targeting;

So, quite honestly, until someone can do this correctly and in one place - and, ideally, with endorsements from PSF and PyPA - I'll just consider Python dependency management tooling to be inadequate for my use cases.

Re:Rye: A Hassle-Free Python Experience on Tuesday July 09, 2024 @03:03PM (#40919630)
Unfortunately, installing pytorch via Poetry was not for the faint of heart, last I tried. [1]

For example, it used to download wheels for all matching distributions (say pytorch for a few platforms) to get metadata. That would be like a 10 GB download for 4 wheels of pytorch, to generate the lockfile.

Another thing it used to do is ignore local cache, so for some locking operations would download the same wheel multiple times.

In general, it was not entertaining, from an ML practitioner's perspective, to infer an attitude from the Poetry maintainers that the mountain shall come to Muhammad, so to say. Their abridged position was that pytorch is not compliant with standards, when Poetry itself, e.g., is not PEP 440-compliant, in a manner pertinent to the issue at hand. [2]

I realise that my grumbling about pytorch has nothing to do with your perfectly adequate comment, that said. Please interpret it as nothing more than an expanded rationale fore being more interested in learning about Rye/uv than in revisiting Poetry, at least for the projects I've worked on.

[1] https://github.com/python-poetry/poetry/issues/6409

[2] https://github.com/python-poetry/poetry/issues/7748

Older »