What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
0
0
0
1
1

Visiting my sister and family for Christmas, and they have a shiny new 3D printer, so naturally we've been playing with it. Here's a hats-and-turtles jigsaw puzzle.

The puzzle was made by taking a hat tiling and its combinatorially identical turtle tiling, and making a puzzle piece from each pair of corresponding tiles, so that each piece (or at least each non-edge piece) has a hat-shaped face on one side and a turtle on the other.

Despite this, every piece is different. To make a hat and turtle tiling correspond as closely as possible you must scale the turtles down by an irrational factor √(4/5) to make a turtle have the same area as a hat, and rotate by an irrational angle tan⁻¹(1/√15) to keep the distance between each hat and its turtle bounded. As a result of these irrationals, no two pieces have the hat and turtle in quite the same position relative to each other. Also, the rotation makes corresponding edges skew to each other, so the sides of the puzzle pieces aren't flat planes – they all have a compound curve.

Some of the tiles are truncated by the circular frame, of course. When a piece of tile was just _too_ small, I made it part of the frame, which gives a starting point for placing other pieces. The four-colouring (suggested by my brother-in-law) also provides clues to the layout. I was quite scared that this puzzle would be too hard, and _might_ have gone a bit too far in the other direction making sure it was possible!

Inspired by a thread last year hachyderm.io/@simontatham/1133. Hat tip to Oskar van Deventer, who had a similar idea, and produced a puzzle with hats on one side and the degenerate chevron tile on the other (and without the four-colouring or frame protrusions).

A collection of 3D-printed puzzle pieces. Some appear to be hat-shaped, and some turtle-shaped (but in reality every piece is both, with a hat on one side and a turtle on the opposite side). Some pieces are partial, cut off by a curved edge. The pieces come in four colours: white, black, green and brown.

Two black semicircles with a few inner protrusions form a frame that the rest of the pieces are intended to fit into. One black piece, the same colour as the frame, is a hat in the opposite handedness from the othersThe puzzle mostly assembled, but shown in two halves. The rear half has the hats side uppermost, and the front half the turtles side. Each half is shown with the inner edge towards the viewer, so that you can see the slanted and slightly curved edges of the pieces.The fully assembled puzzle, shown on the hats side. The region within the circular frame is tiled perfectly with hats, with no two tiles of the same colour touching.The completed puzzle flipped over, so that the turtles tiling on the other side is visible.
0
0
0
0
0
0
0
1
0
1
0
70
1
2
1
1

You'd think after publishing 9 novels in 13 years, I'd have made my peace w/ the need to promote them.

I'm still conflicted re: anything that smacks of self-promo. I believe in my work. I'm proud of what I write & very much want to share it with readers.

But the work doesn't magically announce itself to the world.

So if you're looking for SF&F books that are earnest, honest, compelling & character focused, give them a try?

2 are free/pay what you will at Gumroad.

ljcohen.gumroad.com/

8 of my 9 novels, spines out. From left to right:

The Between, Changeling's Choice book 1
Time and Tide, Changeling's Choice, book 2

Future Tense (standalone)

Derelict, Halcyone Space book 1
Ithaka Rising, Halcyone Space book 2
Dreadnought and Shuttle, Halcyone Space book 3
Parallax, Halcyone Space book 4
A Star in the Void, Halcyone Space book 5Full front cover of Litany for a Broken World showing an abandoned graffiti marked brick building with golden light pouring from a window. Dwarfed by the building are 2 human figures and a small dog.
0
0
0
1
0
0
0

GPLv2 affirmation…

I don’t generally post here as people have probably noticed, but here’s a pdf of a recent court ruling, and this turns out to be the easiest way for me to link to a copy of it, since I don’t really maintain any web presence normally and I don’t want to post pdf’s to the kernel mailing lists or anything like that.

And the reason I want to post about it, is that it basically validates my long-held views that the GPLv2 is about making source code available, not controlling the access to the hardware that it runs on.

The court case itself is a mess of two bad parties: Vizio and the SFC. Both of them look horribly bad in court - for different reasons.

Vizio used Linux in their TVs without originally making the source code available, and that was obviously not ok.

And the Software Freedom Conservancy then tries to make the argument that the license forces you to make your installation keys etc available, even though that is not the case, and the reason why the kernel is very much GPLv2 only. The people involved know that very well, but have argued otherwise in court.

End result: both parties have acted badly. But at least Vizio did fix their behavior, even if it apparently took this lawsuit to do so. I can’t say the same about the SFC.

Please, SFC - stop using the kernel for your bogus legal arguments where you try to expand the GPLv2 to be something it isn’t. You just look like a bunch of incompetent a**holes.

The only party that looks competent here is the judge, which in this ruling says

Plaintiff contends the phrases, “machine-readable” and “scripts used to control compilation and installation” support their assertion in response to special interrogatory no. 4 that Defendant should “deliver files such that a person of ordinary skill can compile the source code into a functional executable and install it onto the same device, such that all features of the original program are retained, without undue difficulty.”

The language of the Agreements is unambiguous. It does not impose the duty which is the subject of this motion.

Read as a whole, the Agreements require Vizio to make the source code available in such a manner that the source code can be readily obtained and modified by Plaintiff or other third parties. While source code is defined to include “the scripts used to control compilation and installation,” this does not mean that Vizio must allow users to reinstall the software, modified or otherwise, back onto its smart TVs in a manner that preserves all features of the original program and/or ensures the smart TVs continue to function properly. Rather, in the context of the Agreements, the disputed language means that Vizio must provide the source code in a manner that allows the source code to be obtained and revised by Plaintiff or others for use in other applications.

In other words, Vizio must ensure the ability of users to copy, change/modify, and distribute the source code, including using the code in other free programs consistent with the Preamble and Terms and Conditions of the Agreements. However, nothing in the language of the Agreements requires Vizio to allow modified source code to be reinstalled on its devices while ensuring the devices remain operable after the source code is modified. If this was the intent of the Agreements, the Agreements could have been readily modified to state that users must be permitted to modify and reinstall modified software on products which use the program while ensuring the products continue to function. The absence of such language is dispositive and there is no basis to find that such a term was implied here. Therefore, the motion is granted.

IOW, this makes it clear that yes, you have to make source code available, but no, the GPLv2 does not in any way force you to then open up your hardware.

My intention - and the GPLv2 - is clear: the kernel copyright licence covers the software, and does not extend to the hardware it runs on. The same way the kernel copyright license does not extend to user space programs that run on it.

0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1

Ghostty 1.0 came out a year ago today. Since then:

- Command Palette
- Background Images
- Quick Terminal Size
- Graphical Progress Bars (OSC 9;4)
- Undo/Redo Close (macOS)
- Terminal Bell (audio, graphical, and more)
- Custom Cursor Shaders - animations/trails
- SSH Improvements - auto terminfo copying, env fixes
- Quick Terminal on Linux
- Global Keybinds on Linux
- Server-Side Decorations (SSD) on Linux
- Performable Keybindings
- Bitmap Font Support
- Alpha Blending on both macOS and Linux
- Apple Shortcuts Integration (macOS)
- GTK rewrite with native GObject

Coming in 1.3, already in nightly/tip:

- Scrollback Search
- Scrollbars
- Key Tables / Chained Keybinds
- Copy as HTML/RTF
- libghostty started and already shipping in 3rd party production code on all platforms including web

Organizationally:

- Non-profit established
- Subsystem maintainers established with ~10 maintainers
- Community team established with another ~10 members

Commits: 5,154
Unique contributors: 310

See you in 2026. 🚀

0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0