frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

AI Watermark and Stego Scanner

https://ulrischa.github.io/AIWatermarkDetector/
1•ulrischa•32s ago•0 comments

Clarity vs. complexity: the invisible work of subtraction

https://www.alexscamp.com/p/clarity-vs-complexity-the-invisible
1•dovhyi•1m ago•0 comments

Solid-State Freezer Needs No Refrigerants

https://spectrum.ieee.org/subzero-elastocaloric-cooling
1•Brajeshwar•1m ago•0 comments

Ask HN: Will LLMs/AI Decrease Human Intelligence and Make Expertise a Commodity?

1•mc-0•3m ago•0 comments

From Zero to Hero: A Brief Introduction to Spring Boot

https://jcob-sikorski.github.io/me/writing/from-zero-to-hello-world-spring-boot
1•jcob_sikorski•3m ago•0 comments

NSA detected phone call between foreign intelligence and person close to Trump

https://www.theguardian.com/us-news/2026/feb/07/nsa-foreign-intelligence-trump-whistleblower
3•c420•3m ago•0 comments

How to Fake a Robotics Result

https://itcanthink.substack.com/p/how-to-fake-a-robotics-result
1•ai_critic•4m ago•0 comments

It's time for the world to boycott the US

https://www.aljazeera.com/opinions/2026/2/5/its-time-for-the-world-to-boycott-the-us
1•HotGarbage•4m ago•0 comments

Show HN: Semantic Search for terminal commands in the Browser (No Back end)

https://jslambda.github.io/tldr-vsearch/
1•jslambda•4m ago•1 comments

The AI CEO Experiment

https://yukicapital.com/blog/the-ai-ceo-experiment/
2•romainsimon•6m ago•0 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
3•surprisetalk•9m ago•0 comments

MS-DOS game copy protection and cracks

https://www.dosdays.co.uk/topics/game_cracks.php
3•TheCraiggers•10m ago•0 comments

Updates on GNU/Hurd progress [video]

https://fosdem.org/2026/schedule/event/7FZXHF-updates_on_gnuhurd_progress_rump_drivers_64bit_smp_...
2•birdculture•11m ago•0 comments

Epstein took a photo of his 2015 dinner with Zuckerberg and Musk

https://xcancel.com/search?f=tweets&q=davenewworld_2%2Fstatus%2F2020128223850316274
7•doener•12m ago•2 comments

MyFlames: Visualize MySQL query execution plans as interactive FlameGraphs

https://github.com/vgrippa/myflames
1•tanelpoder•13m ago•0 comments

Show HN: LLM of Babel

https://clairefro.github.io/llm-of-babel/
1•marjipan200•13m ago•0 comments

A modern iperf3 alternative with a live TUI, multi-client server, QUIC support

https://github.com/lance0/xfr
3•tanelpoder•14m ago•0 comments

Famfamfam Silk icons – also with CSS spritesheet

https://github.com/legacy-icons/famfamfam-silk
1•thunderbong•15m ago•0 comments

Apple is the only Big Tech company whose capex declined last quarter

https://sherwood.news/tech/apple-is-the-only-big-tech-company-whose-capex-declined-last-quarter/
2•elsewhen•18m ago•0 comments

Reverse-Engineering Raiders of the Lost Ark for the Atari 2600

https://github.com/joshuanwalker/Raiders2600
2•todsacerdoti•19m ago•0 comments

Show HN: Deterministic NDJSON audit logs – v1.2 update (structural gaps)

https://github.com/yupme-bot/kernel-ndjson-proofs
1•Slaine•23m ago•0 comments

The Greater Copenhagen Region could be your friend's next career move

https://www.greatercphregion.com/friend-recruiter-program
2•mooreds•23m ago•0 comments

Do Not Confirm – Fiction by OpenClaw

https://thedailymolt.substack.com/p/do-not-confirm
1•jamesjyu•24m ago•0 comments

The Analytical Profile of Peas

https://www.fossanalytics.com/en/news-articles/more-industries/the-analytical-profile-of-peas
1•mooreds•24m ago•0 comments

Hallucinations in GPT5 – Can models say "I don't know" (June 2025)

https://jobswithgpt.com/blog/llm-eval-hallucinations-t20-cricket/
1•sp1982•24m ago•0 comments

What AI is good for, according to developers

https://github.blog/ai-and-ml/generative-ai/what-ai-is-actually-good-for-according-to-developers/
1•mooreds•24m ago•0 comments

OpenAI might pivot to the "most addictive digital friend" or face extinction

https://twitter.com/lebed2045/status/2020184853271167186
1•lebed2045•26m ago•2 comments

Show HN: Know how your SaaS is doing in 30 seconds

https://anypanel.io
1•dasfelix•26m ago•0 comments

ClawdBot Ordered Me Lunch

https://nickalexander.org/drafts/auto-sandwich.html
3•nick007•27m ago•0 comments

What the News media thinks about your Indian stock investments

https://stocktrends.numerical.works/
1•mindaslab•28m ago•0 comments
Open in hackernews

The Qtile Window Manager: A Python-Powered Tiling Experience

https://tech.stonecharioteer.com/posts/2025/qtile-window-manager/
64•stonecharioteer•2mo ago

Comments

stonecharioteer•2mo ago
I've been using Qtile for over 4 years now, and I absolutely love it. I'd written a while ago about my updated config, and thought I'd share.
zahlman•2mo ago
> Additionally, I disagreed with the default way of installing Qtile. As a principle, I never sudo pip install anything. Instead, I asked my friend Karthikeyan Singaravel, who is a Python core developer, and he recommended using the deadsnakes PPA for Ubuntu to install any version of Python that I chose. I tried compiling python 3.10 myself, installing to /opt/qtile/ using configure --prefix /opt/qtile/ during the configuration stage of the source code. However, I admit that using deadsnakes is a far better idea since I could create a virtual environment based on python3.10 into /opt/qtile/ instead. I had to change the owner of the folder to my user account. Note that I could store the virtual environment in my home folder and just use that, but I wanted to isolate this outside of my home folder.

Qtile doesn't appear to be tied to a specific Python version. Could you not have made a virtual environment based off the system Python? For that matter, could you not have made a virtual environment from a local compiled-from-source Python? (I do that all the time, because I'm interested in testing against specific Python versions and comparing their performance characteristics.)

> Then, I changed the owner of the folder to my regular user account.

> Then, it was time to install qtile.

> I created /usr/share/xsessions/qtile.desktop and filled it with the following:

Doesn't this require the environment to be owned by root? Doesn't it make more sense to leave things that are in /opt as root-owned anyway? (Or at least, change them back after running the installation as an unprivileged user.)

> After this, I logged out of my previous window manager and switched to the new entry for Qtile.

Will any random greeter program just naturally pick up the contents of /usr/share/xsessions, then?

> Qtile’s config file rests at ~/.config/qtile/config.py

So does it just ignore all your other dotfiles? Can I safely just try this out regardless of my usual WM/DE choices?

stonecharioteer•2mo ago
> Doesn't this require the environment to be owned by root? Doesn't it make more sense to leave things that are in /opt as root-owned anyway? (Or at least, change them back after running the installation as an unprivileged user.)

I changed the permissions so everyone can run the binary.

You _can_ use a venv. I prefer a dedicated environment for this. I've been using Mise-en-place lately, it's great.

> Will any random greeter program just naturally pick up the contents of /usr/share/xsessions, then?

Yep. Your login manager will pick it up.

> So does it just ignore all your other dotfiles? Can I safely just try this out regardless of my usual WM/DE choices?

Yeah, you can. It's self-contained. I even setup ansible-based dotfile installation in https://GitHub.com/stonecharioteer/distributed-dotfiles.

While qtile doesn't care about the python version, I do. I've grown wary of environment clobbering, it's an issue that Python has had, one that even Ruby does better than it, I've discovered. I like isolating these, helps debug a lot. Now I have added more shortcuts to my config using Rofi scripts, I can see the Qtile log, access, the dunst notification history and other stuff easily with rofi. Give Qtile a go if you've been looking for a Tiling Window Manager. It's married to the Qtile Bar, though, but the Bar can do almost everything.

kstrauser•2mo ago
> You _can_ use a venv. I prefer a dedicated environment for this.

A venv is Python’s built-in way to handle dedicated environments. It’s what mise and uv use.

> I've grown wary of environment clobbering, it's an issue that Python has had, one that even Ruby does better than it, I've discovered. I like isolating these, helps debug a lot.

That’s a Python virtualenv. It’s had these for many years. I don’t know if there’s even any other way to get the same isolation with Python, short of using a container or something else at the OS level.

stonecharioteer•2mo ago
I compile python from source when I'm being particularly anal about isolation. Used to have playbooks for that too.
kstrauser•2mo ago
That’s totally a thing you can do, but I don’t think it gets you anything at all over just using the built-in virtualenvs. (Although lots of people create them with uv or mise or poetry or whatever, the feature is part of Python itself, and all those tools do is create and configure them for you.)

Also, pyenv and uv are wonderful ways to install whatever version you want without having to compile them locally, and you can have many versions installed at once and use a different one for each virtualenv if you want to.

zahlman•2mo ago
> I don’t know if there’s even any other way to get the same isolation with Python, short of using a container or something else at the OS level.

You can, but you have to hack it together yourself, e.g. by modifying sys.path or setting up hooks that will do so (e.g. by creating a `usercustomize.py` or `sitecustomize.py` that gets pulled in by the standard library `site` module). And then it will amount to almost the same thing anyway, because there's really no reason for anything else.

The virtual environment itself is really barely anything at all: a place to put installed packages, and a `pyvenv.cfg` config/marker file that Python uses to automate said sys.path hacking at startup. Oh, and a bin/ subdirectory with symlinks (stub wrapper executables on Windows) to Python, and also a place to put entry-point wrapper scripts for the installed code. That's the main thing that isn't necessary for isolation, but it's pretty convenient. Oh, and some "activation" scripts that hack some environment variables together to make the environment easier to use (see, it's the use of those symlinks that determines whether the venv's packages are used).

The built-in support (such that `pyvenv.cfg` files are created and the Python binary directly cares about them) has existed since 2012, and its third-party basis (which automated the sys.path hacking in a somewhat more brutal way; https://archive.org/details/pyvideo_568___reverse-engineerin... is quite informative) since 2007.

kstrauser•2mo ago
My reply here is to people reading along. I know you know this stuff.

Yeah, I can imagine hacking something together on my own if I had to ("first run `zfs create tank/myproject`...") but I'm glad I don't. I'm not referring to the person here, but I've seen people go to great lengths to avoid virtualenvs when they're about as lightweight as such a thing can possibly be. Like, this is the entire process for using one in a project:

  $ python -m venv .venv
  $ source .venv/bin/activate
Now if you run `pip install foo` in that shell, it'll install the package inside that virtualenv. If your code has `import foo` somewhere, it'll load the virtualenv's package, no matter what versions of foo are installed elsewhere. It's nearly identical in concept to Node's ./node_modules directories, except that you have to explicitly activate the virtualenv, which also gives you the flexibility to easily use the same venv for multiple projects if you really want to.

If you have something like mise or uv, you can ask them to manage a venv for you, but they're conceptually just wrappers around those steps.

clickety_clack•2mo ago
I use mise with uv, and it works great. https://mise.jdx.dev/mise-cookbook/python.html
kstrauser•2mo ago
This is the way. Or even just plain uv, although I also use it from within mise.
tych0•2mo ago
[disclaimer, maintainer here]

> Doesn't this require the environment to be owned by root? Doesn't it make more sense to leave things that are in /opt as root-owned anyway? (Or at least, change them back after running the installation as an unprivileged user.)

No, it doesn't require that, it just means your user-owned binary will be exec'd by root. But if you want the root -> user owned indirection, you can set `Exec=/etc/X11/xinit/Xsession`, which will exec your ~/.xsession as your user, and then you can keep a local install.

> Will any random greeter program just naturally pick up the contents of /usr/share/xsessions, then?

Ones that support x11 do, yes.

> So does it just ignore all your other dotfiles? Can I safely just try this out regardless of my usual WM/DE choices?

We try to read XDG_* things where relevant, e.g. themes and icons. But generally yes, once you point your xsession at qtile, we only use our config file.

slightwinder•2mo ago
How is the state of Wayland these days with QTile? I remember some years ago it was somewhat running, but stalling. Did it improve in the meanwhile?
icommentedtoday•2mo ago
Qtile Dev here (jwijenbergh on GitHub). We just rewrote the Wayland backend in C and will do a new release hopefully this weekend. Feedback welcome!
stonecharioteer•2mo ago
OP here.thank you so much for your work on Qtile. It is so underrated, it is really really good and I absolutely love it.
tuhriel•2mo ago
Uhh nice, gonna check that out. Do rounded corner and transparency work now with wayland? Didn't get it to work before
kstrauser•2mo ago
Way back when, I had a little trouble installing Qtile on Ubuntu 10.10 or so, so I wrote up a little guide on how to do it. I think that became part of the official docs somewhere along the way? But anyway, I didn’t think much about it.

I went to PyCon in Santa Clara with a coworker who was being a little full of himself that morning. We were standing in the swag line and idly chatting with people around us. The guy in front of me was saying something, stopped to look at my name tag, and did a double take. “Whoa, you’re that kstrauser? Who wrote the Qtile guide? Wow, thank you so much!” He shook my hand, then we got our swag and went different ways. I don’t recall anyone else ever mentioning it to me, but from my coworker’s POV, we’d talked to about 10 people in a conference of 3,000 and one of them knew of me, so clearly I must be quietly famous or something. He stopped being a know-it-all, at least for the morning.

So thanks, Qtile. You gave me 20 seconds of fame while standing in line once.

dmpayton•2mo ago
Oh my god, that was me! I can't believe I just read this on HN. Whenever I'm at a conference (usually PyCon or DjangoCon) and meet someone whose work has benefited me, I try to make a point to thank them.

I ended up getting involved with Qtile for a few years and contributed to the docs, website, and various widgets.

So, thanks again!

kstrauser•2mo ago
If you're not saying this to tease me, you've just blown my mind.

So, wow. You're very welcome, and I'm glad you had a good time with the project!

What a bizarrely tiny world sometimes, huh?

Wow.

dmpayton•2mo ago
Haha, I promise you I am not! I can't prove it was me, but I did find some old tweets where I shared that blog post in 2011. At one of the Santa Clara PyCon's I ran a small Qtile BoF in the Open Spaces and ended up meeting one or two people I had only interacted with on IRC. It was a pretty great experience over all.

I'm also kinda mind blown that a 15-second interaction I had at PyCon 13 or 14 years ago got a mention on HN. I only saw this post because someone at my local hackerspace told me that Qtile was on the HN frontpage. (I'm the resident Python champion and have shown off my Qtile setup at our monthly Linux night before.)

Small world indeed!

noobermin•2mo ago
blast from the past. I moved over from awesome to qtile as I really didn't use lua probably a decade ago (and I still don't) but unfortunately, over the years, I did the boring thing and just stuck with the gnome 3 default installed by whatever distro I use.

Does qtile work on fedora these days? Good to hear wayland support is coming along, I often miss tiling wms.

kataklasm•2mo ago
Not sure about QTile but I'm using swaywm on Fedora 43, it's a delight to use! I am using a mix of sway and hyprland utensils for everything and I couldn't be happier. Wayland on Fedora is a no-brainer, fixed so many annoyances after moving from X.
pydry•2mo ago
Looks really nice. It's a shame it isnt quite there with wayland. I'd definitely use it if it were.
stonecharioteer•2mo ago
There's a comment by a maintainer here that it's improved on way land. I use xorg though, haven't switched to wayland yet.
caminanteblanco•2mo ago
I've been using qtile as a replacement for hyprland for a few months now, and I don't have any complaints at all. It's an extremely functional piece of software, and at least for me it seems to be more stable than hyprland was.
stonecharioteer•2mo ago
It's so out of the way isn't it? I have to switch to using a Mac for work and I can't get the Aerospace filing window manager to work like Qtile does. It's a shame.
RestartKernel•2mo ago
On that note, is there any good window management paradigm on MacOS? Tiling just doesn't seem to work well tacked on compared to full-fledged i3, and MacOS' seperation of applications from their windows makes multi-tasking a giant pain. Windows is miles ahead in this regard, and Linux of course offers options for every paradigm imaginable, so it leaves MacOS feeling particularly mediocre.
stonecharioteer•2mo ago
Aerospace is the best thing by far. I've tried Yabai, Rectangle and Yabai.

Nothing as good as even native Windows sadly. Heck, even replacing spotlight is a pain.

RestartKernel•2mo ago
> Heck, even replacing spotlight is a pain.

Is it? I've found Raycast to be one of the greatest boosts to my productivity of any app on any platform. Then again, I was doing fine with Rofi + i3 before.

imiric•2mo ago
It's great to see Qtile still going strong. I used it briefly many moons ago, and enjoyed how easy it was to extend, given it is configured with Python. Sadly, I experienced crashes, which soured the experience, and moved on to bspwm, and now niri.