frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
256•theblazehen•2d ago•85 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
26•AlexeyBrin•1h ago•2 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
706•klaussilveira•15h ago•206 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
969•xnx•21h ago•558 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
69•jesperordrup•6h ago•31 comments

Reinforcement Learning from Human Feedback

https://arxiv.org/abs/2504.12501
7•onurkanbkrc•47m ago•0 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
135•matheusalmeida•2d ago•35 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
45•speckx•4d ago•36 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
68•videotopia•4d ago•7 comments

Welcome to the Room – A lesson in leadership by Satya Nadella

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
39•kaonwarb•3d ago•30 comments

ga68, the GNU Algol 68 Compiler – FOSDEM 2026 [video]

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
13•matt_d•3d ago•2 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
45•helloplanets•4d ago•46 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
240•isitcontent•16h ago•26 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
238•dmpetrov•16h ago•126 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
340•vecti•18h ago•149 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
506•todsacerdoti•23h ago•248 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
389•ostacke•22h ago•98 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
304•eljojo•18h ago•188 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
361•aktau•22h ago•186 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
428•lstoll•22h ago•284 comments

Cross-Region MSK Replication: K2K vs. MirrorMaker2

https://medium.com/lensesio/cross-region-msk-replication-a-comprehensive-performance-comparison-o...
3•andmarios•4d ago•1 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
71•kmm•5d ago•10 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
23•bikenaga•3d ago•11 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
96•quibono•4d ago•22 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
26•1vuio0pswjnm7•2h ago•16 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
271•i5heu•18h ago•219 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
34•romes•4d ago•3 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1079•cdrnsf•1d ago•461 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
64•gfortaine•13h ago•30 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
306•surprisetalk•3d ago•44 comments
Open in hackernews

Rubik's Cube in Prolog – Order

https://medium.com/@kenichisasagawa/i-am-preparing-material-for-a-prolog-book-af7580acfee7
41•myth_drannon•4w ago

Comments

phkahler•3w ago
I'm not sure if anyone has noticed, a rubiks cube can be represented by only the orientations of the pieces. You do this by defining their "correct" position in cube coordinates rather than piece coordinates (local about the piece center). In other words you might define a 3d model for each piece in world space assuming the cube as a whole is centered on the origin. With pieces offset from the origin like this, any rotation about an axis will appear to move the piece as well as rotate it. With 24 orientations, you'll find 3 that place a corner in the same position but colors rotated. Similarly edges have 2 orientations for each of 12 locations.

One does need to compute the traditional position of the pieces to determine which ones need to be rotated for a given move, but the total state is significantly reduced.

Tell me this isn't news to the cube world. It cant be. Can it?

dsfiof•3w ago
Unable to fully parse what you are trying to express.

> the total state is significantly reduced.

The minimal "state space" of a rubiks cube is a constant value. Any "reduction" would imply the model being reduced was inefficient.

On the topic of cool "alternative" views of rubiks I recently saw this and thought it was novel.

https://old.reddit.com/r/gifs/comments/z3okyv/the_only_way_t...

wowczarek•3w ago
That link. This is a Celtic Knot and 92 is half of 99. I had to.
phkahler•3w ago
>> > the total state is significantly reduced. >> The minimal "state space" of a rubiks cube is a constant value.

The article is about solving a cube with software. Software typically represents both the orientation AND position of 20 (or 26) pieces. Orientation might be enumerated so it can be represented by number 1-24 or 0-23 as software tends to do. It could also be represented by a set of Euler angles for each piece. Position is could be enumerated since there are only 20 positions or it could be a vector indicating the piece center relative to the origin. There is a certain amount of data needed to represent the cube in a useful way. Apparently some people store the color (1-6) for each face for a total of 6x9 = 54 numbers each from 1-6. Any of these representations has more possible states than an actual cube because you can encode position that are not possible to achieve on a real cube (solved with a single corner rotate for example). My point is that the 20 orientations are enough without the positions if you're trying to track position AND orientation like the linked article does. The positions can be recovered from the orientations.

spartanatreyu•3w ago
I'm trying to figure out what you're trying to say here.

You didn't really define what "cube coordinates" or "piece coordinates" are.

If you're trying to reduce the size of the state needed to represent the entire state of the cube, you can represent it as the operations needed to transform a solved cube into that state.

Each possible permutation of legal state in a rubiks cube can be achieved in 20 operations (moves) or less.

But that's expensive to calculate if you are only given the target state without the list of operations to generate that state.

It also doesn't let you represent illegal states (e.g. someone has spun a single corner piece on the spot) or know if a given state is illegal without trying to brute-force solve the cube.

Needing to represent the state of a cube without knowing the operations that generate that state is far more useful than being given a state that's already the solution to solve a cube.

phkahler•3w ago
By "cube" coordinates i mean a coordinate system centered on the whole cube. By "piece" coordinates i mean with the origin centered on one of the smaller pieces of the puzzle.

In graphics programming you'd use world coordinates and object coordinates in a similar way. Each piece is geometrically the same (except color) in object coordinates. To rotate you normally rotate in object coordinates and then move (translate) in world coordinates. Im saying just define each piece in world coordinates and rotate them in world coordinates. They'll orbit the center of the whole cube that way and you'll only be changing their orientation.

Another way to say it might be: use quaternions to describe the orientation of a piece where (1,0,0,0) is the piece in "solved" position. After applying several rotations to a piece you still have orientation in a single quaternion, which can also be applied to the original position vector to find out where it is now. Location and orientation are not independent.

Another way to say it is that if you have any given piece and know its orientation, there is only one place it can be on the puzzle.

DHRicoF•3w ago
I don't have enough time now to work out how are the movement described in your representation to evaluate its convenience. If you have worked out something, could you share it?

I don't know anything about the cube world as I'm just a noob in this.

taeric•3w ago
Fun article! Makes me want to play with prolog again.

I put together something looking at a rubik's cube as a permutation of numbers a while back. https://taeric.github.io/cube-permutations-1.html I remember realizing that my representation essentially had some permutations of numbers that it would never hit, but wasn't sure it was worth trying to more directly model the pieces of the cube. Curious if there are advantages here that I'm ignoring.

QuadmasterXLII•3w ago
one nice thing is that if you represent the state as a permutation matrix P, and have a matrix of starting piece locations x, rendering is just Px. Then, for smooth rotation animations, if your move is a permutation M, animation is just expm ( t logm( M)) P x with t going from 0 to 1

I blather about the permutation matrix of a rubiks cube for a long while at https://www.hgreer.com/TwistyPuzzle/

taeric•3w ago
Nice! I have a css based animation at the bottom of the page I was playing with. Considered trying to do it with 3d animations, but at that point I was assuming something like the main article here would be needed to keep the faces coherent to each other.

I also never kept going down this route to actually learn solutions. Which, I think should be easy enough to do.

Nora23•3w ago
Prolog's pattern matching makes this elegant. The constraint-based approach for state space pruning is clever.
nurettin•3w ago
OT: The time between releasing a free Rubik's cube program to play store and receiving a cease & desist has always impressed me.
timonoko•3w ago
It would be much funnier, if the Cube was at origo. So indexes are {-1,0,+1}. And thus Cube[0,0,0] is empty, or maybe there is a ball with 6 screw-holes in it.
timonoko•3w ago
Nearest nonhuman intelligence seems to be the only one to appreciate this approach. It shortens the code and also search space as it is easier to recognize symmetries.