frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Rivian allows you to disable all internet connectivity

https://rivian.com/support/article/can-i-disable-all-data-collection-from-my-vehicle
179•Cider9986•1h ago•68 comments

LinkedIn scans for 6,278 extensions and encrypts the results into every request

https://404privacy.com/blog/linkedin-is-scanning-your-browser-extensions-this-is-how-they-use-the...
132•un-nf•2h ago•40 comments

How Mark Klein told the EFF about Room 641A [book excerpt]

https://thereader.mitpress.mit.edu/the-whistleblower-who-uncovered-the-nsas-big-brother-machine/
335•the-mitr•5h ago•94 comments

Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library

https://semgrep.dev/blog/2026/malicious-dependency-in-pytorch-lightning-used-for-ai-training/
266•j12y•5h ago•83 comments

Apple reports second quarter results

https://www.apple.com/newsroom/2026/04/apple-reports-second-quarter-results/
29•mfiguiere•1h ago•8 comments

U.S. Senators Vote to Ban Themselves from Trading on Prediction Markets

https://www.wsj.com/politics/policy/senators-vote-to-ban-themselves-from-trading-on-prediction-ma...
211•kamaraju•1h ago•70 comments

I built a Game Boy emulator in F#

https://nickkossolapov.github.io/fame-boy/building-a-game-boy-emulator-in-fsharp/
141•elvis70•4h ago•39 comments

CopyFail was not disclosed to Gentoo developer

https://www.openwall.com/lists/oss-security/2026/04/30/10
273•ori_b•4h ago•183 comments

Claude Code refuses requests or charges extra if your commits mention "OpenClaw"

https://twitter.com/theo/status/2049645973350363168
777•elmean•7h ago•445 comments

Belgium stops decommissioning nuclear power plants

https://dpa-international.com/general-news/urn:newsml:dpa.com:20090101:260430-930-14717/
690•mpweiher•9h ago•608 comments

How an oil refinery works

https://www.construction-physics.com/p/how-an-oil-refinery-works
263•chmaynard•7h ago•71 comments

The Church Rock Uranium Mill Spill

https://en.wikipedia.org/wiki/Church_Rock_uranium_mill_spill
23•Sir_Twist•2d ago•3 comments

Durable queues, streams, pub/sub, and a cron scheduler – inside your SQLite file

https://honker.dev/
141•ferriswil•6h ago•38 comments

You can beat the binary search

https://lemire.me/blog/2026/04/27/you-can-beat-the-binary-search/
202•vok•3d ago•99 comments

Follow-up to Carrot disclosure: Forgejo

https://dustri.org/b/follow-up-to-carrot-disclosure-forgejo.html
23•homebrewer•2h ago•5 comments

Does Postgres Scale?

https://www.dbos.dev/blog/benchmarking-workflow-execution-scalability-on-postgres
42•KraftyOne•2h ago•18 comments

Full-Text Search with DuckDB

https://peterdohertys.website/blog-posts/full-text-search-w-duckdb.html
45•ethagnawl•3h ago•14 comments

Reverse Engineering SimTower

https://phulin.me/blog/simtower
46•patrickhulin•2d ago•4 comments

The upsell game – Vercel upselling tactics revealed

https://theupsellgame.com/
26•bartoindahouse•1h ago•1 comments

Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell

https://pu.dev/
17•nahimn•46m ago•5 comments

I aggregated 28 US Government auction sites into one search

https://bidprowl.com
210•scarsam•9h ago•62 comments

Mozilla's opposition to Chrome's Prompt API

https://github.com/mozilla/standards-positions/issues/1213#issuecomment-4347988313
528•jaffathecake•13h ago•203 comments

Spain's parliament will act against massive IP blockages by LaLiga

https://www.democrata.es/en/politics/congress-and-senate/congress-will-act-against-massive-ip-blo...
344•akyuu•6h ago•157 comments

10Gb/s Ethernet: what I did to get it working in my home

https://www.gilesthomas.com/2026/04/10g-ethernet-what-i-did
105•gpjt•1d ago•78 comments

Recovering files from beyond the grave using PhotoRec

https://lost-number.bearblog.dev/recovering-files-from-beyond-the-grave-using-photorec/
34•speckx•3h ago•5 comments

New mechanical panoramic film camera from Jeff Bridges

https://wideluxx.com
12•armadsen•2d ago•4 comments

American Dads Became the Parents Their Fathers Never Were

https://www.derekthompson.org/p/why-do-richer-dads-spend-more-time
46•ozozozd•5h ago•14 comments

A 1960s art school experiment that redefined creativity

https://thereader.mitpress.mit.edu/the-1960s-art-school-experiment-that-redefined-creativity/
69•pseudolus•6h ago•21 comments

How Semiconductors Were Made in America

https://www.siliconimist.com/p/semiconductors-made-in-america
31•johncole•2d ago•19 comments

Granite 4.1: IBM's 8B Model Matching 32B MoE

https://firethering.com/granite-4-1-ibm-open-source-model-family/
263•steveharing1•11h ago•164 comments
Open in hackernews

Kate and Python Language Server

https://akselmo.dev/posts/kate-python-lsp/
79•todsacerdoti•12mo ago

Comments

josteink•12mo ago
As someone who recently set up something similar in Emacs with eglot I had to ditch Python-LSP-server.

It was so incredibly slow to respond, even on a M2 Max MBP, that it lowered my productivity by orders of magnitudes (and made Emacs laggy).

Maybe I did something wrong? I don’t know.

What I do know is that I tried pyright instead as a different LSP-server for Python and I haven’t looked back.

It’s a night and day difference. It’s snappy and everything works as expected, with venvs and mypy too.

kstrauser•12mo ago
I agree. I really wanted to like python-lsp-server (aka pylsp), but I felt it's kind of a mess getting everything set up and configured. Loathe as I was to configure a server running in Node to help my editor with Python code, it's far and away the best option I've found so far.

I do hope "ruff server" will do for Python LSPs what ruff did for linting and formatting.

nerdponx•12mo ago
I haven't tried the Ruff server yet, but Jedi Language Server is usably fast, and does a good enough job.
kstrauser•12mo ago
Jedi's very nice for refactoring and auto-completion! I get more value from linting and type checking, though, and Jedi doesn't handle those. Pairing it with something like pyright is a great combination if your editor lets you connect to multiple servers.
kristjansson•12mo ago
It's not ready yet, but https://pyrefly.org/ might be a good competitor/complement in the future
tiltowait•11mo ago
Looks promising! It doesn't work with my poetry environment, but I like what I see so far. Definitely something to watch.
team_pyrefly•11mo ago
Hi! I'm on the team behind Pyrefly. Thanks for taking a look and raising the need for poetry support. We added a GitHub issue to track that here: https://github.com/facebook/pyrefly/issues/166
arccy•12mo ago
last time i looked the people were recommending basedpyright: https://github.com/DetachHead/basedpyright
Hasnep•11mo ago
I've been recommending it whenever Pylance comes up on HN or Lobsters, the docs explain how to set it up on the most popular editors: https://docs.basedpyright.com/dev/installation/ides
wormius•12mo ago
Not particularly relevant to the core article, but just a dumb thought re: the LSP/LS annoyance mentioned in the intro.

I think maybe some of it stems from 'ls' the command. If I saw something called py-ls instead of py-lsp, I may think it's a python based ls command. "Name Collision" as it were.

Anyways off to read the rest of the article...

ogoffart•11mo ago
I wrote a language server too, and I also went with "-lsp" naming because it's way more recognizable. "LSP" is kind of a brand. If you look at the list at https://microsoft.github.io/language-server-protocol/impleme... a lot of them are named -lsp.
dundarious•11mo ago
Might not be an issue for your typical setup, but I suggest quoting your variable expansions in bash. Otherwise, spaces, etc., will lead to issues.

It would also make sense to use path after it is defined, instead of sometimes using `$1` again.

But I'm confused by `cd`ing into `$path` and then checking paths that are prefixed by `$path`... I assume that is an error, and you won't run it like `script.sh ./work/project` and expect a path like `./work/project/work/project` or `./work/project/project` to exist. Can just `cd "$1"` and be done.

Mildly surprised the .venv/venv check isn't an elif as well.

  #!/usr/bin/env bash
  cd "$1"
  if [ -d ./.venv ]; then
    source ./.venv/bin/activate
  elif [ -d ./venv ]; then
    source ./venv/bin/activate
  fi
  exec pylsp --check-parent-process