frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Archive of Byte magazine, starting with issue #1 in 1975

https://archive.org/details/byte-magazine-1975-09
348•DamnInteresting•2d ago•87 comments

Vercel Says Internal Systems Hit in Breach

https://decipher.sc/2026/04/19/vercel-says-internal-systems-hit-in-breach/
97•whiteyford•1h ago•2 comments

Notes from the SF Peptide Scene

https://12gramsofcarbon.com/p/notes-from-the-sf-peptide-scene
45•theahura•1h ago•39 comments

Nanopass Framework: Clean Compiler Creation Language

https://nanopass.org/
59•NordStreamYacht•4d ago•6 comments

SPEAKE(a)R: Turn Speakers to Microphones for Fun and Profit [pdf] (2017)

https://www.usenix.org/system/files/conference/woot17/woot17-paper-guri.pdf
117•Eridanus2•7h ago•55 comments

The seven programming ur-languages (2022)

https://madhadron.com/programming/seven_ur_languages.html
147•helloplanets•8h ago•50 comments

Notion leaks email addresses of all editors of any public page

https://twitter.com/weezerOSINT/status/2045849358462222720
39•Tiberium•1h ago•3 comments

Game devs explain the tricks involved with letting you pause a game

https://kotaku.com/video-game-devs-explain-how-pausing-works-and-sometimes-it-gets-weird-2000686339
285•speckx•3d ago•168 comments

The creative software industry has declared war on Adobe

https://www.theverge.com/tech/913765/adobe-rivals-free-creative-software-app-updates
77•tambourine_man•2h ago•47 comments

Pairwise Order of a Sequence of Elements

https://morwenn.github.io//presortedness/2026/04/11/TSB010-pairwise-order-of-a-sequence-of-elemen...
10•ibobev•2d ago•0 comments

Show HN: Shader Lab, like Photoshop but for shaders

https://eng.basement.studio/tools/shader-lab
76•ragojose•2d ago•14 comments

What are skiplists good for?

https://antithesis.com/blog/2026/skiptrees/
190•mfiguiere•2d ago•39 comments

Vercel April 2026 security incident

https://vercel.com/kb/bulletin/vercel-april-2026-security-incident
165•colesantiago•2h ago•58 comments

NIST scientists create 'any wavelength' lasers

https://www.nist.gov/news-events/news/2026/04/any-color-you-nist-scientists-create-any-wavelength...
378•rbanffy•19h ago•160 comments

College instructor turns to typewriters to curb AI-written work

https://sentinelcolorado.com/uncategorized/a-college-instructor-turns-to-typewriters-to-curb-ai-w...
380•gnabgib•21h ago•352 comments

When moving fast, talking is the first thing to break

https://daverupert.com/2026/04/more-talk-less-grok/
34•Brajeshwar•2h ago•19 comments

Anonymous request-token comparisons from Opus 4.6 and Opus 4.7

https://tokens.billchambers.me/leaderboard
581•anabranch•1d ago•547 comments

Minimal Viable Programs (2014)

https://joearms.github.io/published/2014-06-25-minimal-viable-program.html
17•bachmeier•4d ago•4 comments

Turtle WoW classic server announces shutdown after Blizzard wins injunction

https://www.pcgamer.com/games/world-of-warcraft/turtle-wow-classic-server-announces-shutdown-afte...
14•Brajeshwar•46m ago•8 comments

The electromechanical angle computer inside the B-52 bomber's star tracker

https://www.righto.com/2026/04/B-52-star-tracker-angle-computer.html
384•NelsonMinar•1d ago•98 comments

Binary GCD

https://en.algorithmica.org/hpc/algorithms/gcd/#binary-gcd
41•tosh•8h ago•1 comments

Airline worker arrested after sharing photos of bomb damage in WhatsApp group

https://www.lbc.co.uk/article/dubai-police-spied-private-whatsapp-5HjdXwr_2/
154•aa_is_op•3h ago•98 comments

Show HN: Prompt-to-Excalidraw demo with Gemma 4 E2B in the browser (3.1GB)

https://teamchong.github.io/turboquant-wasm/draw.html
32•teamchong•5h ago•16 comments

Why Japan has such good railways

https://worksinprogress.co/issue/why-japan-has-such-good-railways/
483•RickJWagner•1d ago•455 comments

Ask HN: How did you land your first projects as a solo engineer/consultant?

155•modelcroissant•7h ago•70 comments

Matt Mullenweg Overrules Core Committers; Puts Akismet on WP 7's Connector List

https://www.therepository.email/matt-mullenweg-overrules-core-committers-to-put-akismet-on-wordpr...
24•mooreds•2h ago•20 comments

The world in which IPv6 was a good design (2017)

https://apenwarr.ca/log/20170810
147•signa11•13h ago•45 comments

It's cool to care (2025)

https://alexwlchan.net/2025/cool-to-care/
63•surprisetalk•4d ago•29 comments

Updating Gun Rocket through 10 years of Unity Engine

https://jackpritz.com/blog/updating-gun-rocket-through-10-years-of-unity-engine
104•tyleo•3d ago•49 comments

State of Kdenlive

https://kdenlive.org/news/2026/state-2026/
442•f_r_d•1d ago•135 comments
Open in hackernews

Kate and Python Language Server

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

Comments

josteink•11mo 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•11mo 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•11mo ago
I haven't tried the Ruff server yet, but Jedi Language Server is usably fast, and does a good enough job.
kstrauser•11mo 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•11mo 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•11mo 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•11mo 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