frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Why LLMs Can't Build Software

https://zed.dev/blog/why-llms-cant-build-software
101•srid•2h ago•47 comments

New protein therapy shows promise as antidote for carbon monoxide poisoning

https://www.medschool.umaryland.edu/news/2025/new-protein-therapy-shows-promise-as-first-ever-antidote-for-carbon-monoxide-poisoning.html
119•breve•3h ago•27 comments

NSF and Nvidia award Ai2 $152M to support building an open AI ecosystem

https://allenai.org/blog/nsf-nvidia
79•_delirium•2h ago•33 comments

Statement Regarding Misleading Media Reports

https://www.kodak.com/en/company/blog-post/statement-regarding-misleading-media-reports/
26•whicks•40m ago•4 comments

Launch HN: Cyberdesk (YC S25) – Automate Windows legacy desktop apps

10•mahmoud-almadi•24m ago•1 comments

Is chain-of-thought AI reasoning a mirage?

https://www.seangoedecke.com/real-reasoning/
26•ingve•2h ago•16 comments

What's the strongest AI model you can train on a laptop in five minutes?

https://www.seangoedecke.com/model-on-a-mbp/
288•ingve•2d ago•104 comments

Arch shares its wiki strategy with Debian

https://lwn.net/SubscriberLink/1032604/73596e0c3ed1945a/
235•lemper•6h ago•82 comments

Jujutsu and Radicle

https://radicle.xyz/2025/08/14/jujutsu-with-radicle
31•vinnyhaps•1h ago•6 comments

Org-social is a decentralized social network that runs on an Org Mode

https://github.com/tanrax/org-social
117•todsacerdoti•4h ago•21 comments

Brilliant illustrations bring this 1976 Soviet edition of 'The Hobbit' to life (2015)

https://mashable.com/archive/soviet-hobbit
125•us-merul•3d ago•43 comments

Blood Oxygen Monitoring Returning to Apple Watch in the US

https://www.apple.com/newsroom/2025/08/an-update-on-blood-oxygen-for-apple-watch-in-the-us/
33•thm•2h ago•6 comments

Passion over Profits

https://dillonshook.com/passion-over-profits/
34•dillonshook•2h ago•24 comments

Mbodi AI (YC X25) Is Hiring a Founding Research Engineer (Robotics)

https://www.ycombinator.com/companies/mbodi-ai/jobs/ftTsxcl-founding-research-engineer
1•chitianhao•3h ago

SIMD Binary Heap Operations

http://0x80.pl/notesen/2025-01-18-simd-heap.html
21•ryandotsmith•2d ago•3 comments

Ask HN: How do you tune your personality to get better at interviews?

13•tombert•34m ago•18 comments

Meta accessed women's health data from Flo app without consent, says court

https://www.malwarebytes.com/blog/news/2025/08/meta-accessed-womens-health-data-from-flo-app-without-consent-says-court
221•amarcheschi•4h ago•126 comments

Linux Address Space Isolation Revived After Lowering 70% Performance Hit to 13%

https://www.phoronix.com/news/Linux-ASI-Lower-Overhead
102•teleforce•3h ago•26 comments

Meta's flirty AI chatbot invited a retiree to New York

https://www.reuters.com/investigates/special-report/meta-ai-chatbot-death/
34•edent•56m ago•14 comments

Show HN: Zig-DbC – A design by contract library for Zig

3•habedi0•2d ago•0 comments

Funding Open Source like public infrastructure

https://dri.es/funding-open-source-like-public-infrastructure
169•pabs3•12h ago•81 comments

A new poverty line shifted the World Bank's poverty data. What changed and why?

https://ourworldindata.org/new-international-poverty-line-3-dollars-per-day
35•alphabetatango•3d ago•23 comments

Zenobia Pay – A mission to build an alternative to high-fee card networks

https://zenobiapay.com/blog/open-source-payments
201•pranay01•13h ago•213 comments

Great Myths #16: The Conflict Thesis

https://historyforatheists.com/2025/08/the-great-myths-16-the-conflict-between-science-and-religion/
7•stone-on-stone•2d ago•1 comments

Show HN: Yet another memory system for LLMs

https://github.com/trvon/yams
128•blackmanta•12h ago•33 comments

PYX: The next step in Python packaging

https://astral.sh/blog/introducing-pyx
698•the_mitsuhiko•21h ago•425 comments

"None of These Books Are Obscene": Judge Strikes Down Much of FL's Book Ban Bill

https://bookriot.com/penguin-random-house-florida-lawsuit/
192•healsdata•2h ago•184 comments

OCaml as my primary language

https://xvw.lol/en/articles/why-ocaml.html
353•nukifw•21h ago•251 comments

What Medieval People Got Right About Learning (2019)

https://www.scotthyoung.com/blog/2019/06/07/apprenticeships/
130•ripe•15h ago•77 comments

Kodak says it might have to cease operations

https://www.cnn.com/2025/08/12/business/kodak-survival-warning
300•mastry•2d ago•204 comments
Open in hackernews

Show HN: XR2000: A science fiction programming challenge

https://clearsky.dev/blog/xr2000/
79•richmans•2d ago
Today I’m releasing the XR2000: A programming challenge with extensive science fiction backstory.

Comments

Tepix•8h ago
OK, so the tcp connection to clearsky.dev port 29438 succeeded, but right now nothing happens after you connect. Is this part of the puzzle?
chessext•7h ago
Same here... :-/
richmans•5h ago
Let me start you off! echo -e "\x00XR2K" | nc clearsky.dev 29438
a_bonobo•6h ago
It eventually printed

>send a single 0 byte followed by 'XR2K' for documentation.

But so far doing that hasn't led to anything :)

benchly•5h ago
That's instructions. Basically, try again, but send a zero byte character with netcat.
richmans•5h ago
Looks like HN is breaking my server a bit… it should print a helpful text when you connect
vessenes•4h ago
I want to play!

But..

localhost:~# echo -e "\x00XR2K" | nc clearsky.dev 29438 AXR2KPxr2000.leo.spacenet:send a single 0 byte followed by 'XR2K' for documentation

printf has the same problem. Is it me?

richmans•3h ago
That should work fine! I had some db issues on my end. Should work now!
imglorp•2h ago
It's working.
Paul_S•5h ago
Since the server is overloaded apparently and people can't see what this is without connecting:

  Connection to clearsky.dev (155.133.22.147) 29438 port [tcp/*] succeeded!
  AXR2KPxr2000.leo.spacenet:send a single 0 byte followed by 'XR2K' for documentation.
which results in:

  SPACE TERMINAL INTERFACE PROTOCOL
  =================================
  The XR-2000 space terminal is a communications satellite that is used to communicate with spacecraft.

  This protocol allows a user to remotely use the XR-2000 space terminal to send messages to and receive messages from spcecraft using the global space communication network.

  PACKET STRUCTURE
  ----------------
  Packets are sent over a TCP connection that is established by the client to the terminal on port 29438.

  packet header: 
  * 2 bits length field length (LFL).
    - 0: packet has no payload. 
    - 1: 1 byte length field
    - 2: 2 byte length field
    - 3: 4 byte length field
  \* 1 bit: request id field present
  \* 5 bits packet type.
  \* 1 byte request id (if present)
  \* 4 bytes magic
  \* 0, 1, 2 or 4 bytes payload length
  \* 0..n bytes payload

  all integers are little endian and unsigned unless indicated otherwise.

  The request id field can be used by the client to correlate requests with their responses. The value may be chosen by the client. If the field is present in a request packet, it will be copied into the response by the terminal.

  The magic bytes contain the ascii text: XR2K

  PACKET TYPES
  ------------
  The following packet types are defined:

  \* 0x00 help           client -> terminal
  \* 0x01 hello          terminal -> client
  \* 0x02 documentation  terminal -> client
  \* 0x03 register       client -> terminal
  \* 0x04 registered     terminal -> client
  \* 0x05 login          client -> terminal
  \* 0x07 getstatus      client -> terminal
  \* 0x08 status         terminal -> client
  \* 0x09 getmail        client -> terminal
  \* 0x0a mail           terminal -> client
  \* 0x0b sendmail       client -> terminal
  \* 0x12 configure      client -> terminal
  \* 0x14 route          both
  \* 0x15 translate      client -> terminal
  \* 0x16 translation    terminal -> client
  \* 0x1f result         terminal -> client

  0x00 HELP PACKET
  -------------------------
  This packet is used by the client to request the protocol documentation. The terminal will respond with a DOCUMENTATION (0x02) packet.

  This packet has no contents, which means the Length-Field-Length is 0. The request id field can also be disabled. So the client only needs to send a single 0-byte to obtain the documentation.

  0x01 HELLO PACKET
  -----------------
  This packet is sent by the terminal inmediately after a new TCP connection has been established.

  Packet payload:
  \* 1 byte: protocol version. The only defined version is 1
  \* 1 byte: terminal hostname length
  \* 0..255 bytes: terminal hostname
  \* 1 byte: documentation instruction length
  \* 0..255 bytes: documentation instructions

  0x02 DOCUMENTATION PACKET
  -------------------------
  This packet is sent by the terminal to provide the this document, the protocol spec, to the client.

  The contents of this packet is the protocol spec.

  0x03 REGISTER PACKET
  --------------------
  This packet is sent by the client to create a new user account. This packet is only valid if the user is not yet authenticated.

  This packet has no payload.

  If registration succeeds, the terminal will respond with an REGISTERED (0x04) packet, which contains the username and password of the created user. The client should then save these values so that it can LOGIN later.

  If registration fails, the terminal will respond with an RESULT (0x1f) packet.

  Possible errors:
  \* 0x11 registration rate limiting: too many accounts were registered from this IP. 
  \* 0x1 already authenticated

  0x04 REGISTERED
  ---------------
  This packet is sent by the terminal to the client to provide the credentials to the newly created account.

  Packet contents:
  \* 1 byte: username length
  \* 0..255 bytes: username
  \* 1 byte: password length
  \* 0..255: password length

  0x05 LOGIN PACKET
  -----------------
  This packet is sent by the client to authenticate using credentials that have been prevuously obtained from the REGISTERED message. This packet is only valid if the user is not yet authenticated.

  Packet contents:
  \* 1 byte: username length
  \* 0..255 bytes: username
  \* 1 byte: password length
  \* 0..255: password length

  If authentication succeeds, the terminal will respond with a RESULT (0x1f) packet with error type 0. Additionally, a STATUS (0x08) packet will be sent to reflect the authenticated status.

  If authentication fails, the terminal will send a RESULT (0x1f) message with the appropriate error type.

  Possible errors:
  \* 0x1 already authenticated
  \* 0x3 invalid credentials

  0x07 GETSTATUS PACKET
  ---------------------
  This packet is used by the client to request a STATUS (0x08) packet.

  This packet has no payload.

  This request will always succeed, no errors are defined.

  0x08 STATUS PACKET
  ------------------
  This packet is sent by the terminal either as a response to a GETSTATUS (0x08) packet or because of a specific event such as logging in or a new mail message arriving.

  If the user is not authenticated, the number of emails field will be -1 (0xffffffff)

  Packet contents:
  \* 4 bytes: number of mails
  \* 4 bytes: connection time (in seconds)
  \* 1 bit: authenticated
  \* 1 bit: authorized for tranceiver usage
  \* 1 bit: tranceiver configured
  \* 5 bits: undefined

  0x09 GETMAIL PACKET
  -------------------
  This packet is used by the client to request the contents of a mail. The XR-2000 mail system is very simple. Each user has a mailbox. Incoming emails receive an id starting with 1. Mails can not be editted or deleted. Sent emails are not stored in the sender's mailbox. The mail system is only internal and not connected to the internet email system.

  This request is only valid when the user is authenticated.

  If the referenced mail is found, the terminal will respond with a MAIL (0x0a) packet. If not, the terminal will send a RESULT (0x1f) packet indicating the appropriate error type.

  Packet contents:
  \* 4 bytes: mail id

  Possible errors:
  \* 0x02 not authenticated
  \* 0x40 mail not found

  0x0a MAIL PACKET
  ----------------
  This packet is the response to a GETMAIL (0x09) packet and contains an email metadata and full contents.

  Packet contents
  \* 4 bytes: mail id
  \* 4 bytes: timestamp (unix)
  \* 1 byte: sender length
  \* 0..255 bytes: sender username
  \* 4 bytes: content length
  \* 0..n bytes: contents

  0x0b SENDMAIL PACKET
  --------------------
  This packet is used by the client to send a mail to another user.

  If the mail is sent successfully, the termimal will respond with a RESULT (0x1f) packet with error type 0. If an error occurred, the error type will be set to the appropriate value.

  Packet contents
  \* 1 byte: recipient length
  \* 0..255 bytes: recipient username
  \* 4 bytes: content length
  \* 0..n bytes: contents

  Possible errors:
  \* 0x02 not authenticated
  \* 0x41 recipient username not found

  0x12 CONFIGURE PACKET
  ---------------------
  This packet is used by the client to configure the XR2000 tranceiver. This packet is only valid of the user is authenticated.

  Packet contents:
  \* 4 bytes: frequency (in kHz)
  \* 4 bytes: baudrate (in bps)
  \* 1 byte: modulation (see below)

  Modulation types:
  \* 0x00 Amplitude Modulation (AM)
  \* 0x01 Frequency Modulation (FM)
  \* 0x02 Phase Modulation (PM)
  \* 0x03 Binary Phase Shift Keying (BPSK)

  If configuration succeeds, the terminal will respond with a RESULT (0x1f) packet with error type 0.

  If configuration fails, the terminal will send a RESULT (0x1f) message with the appropriate error type.

  Possible errors:
  \* 0x02 not authenticated
  \* 0x04 not authorized for tranceiver usage
  \* 0x20 tranceiver malfunction
  \* 0x21 invalid config parameter

  0x14 ROUTE PACKET
  -----------------
  This packet is used by both sides to transport data to and from the spacecraft. It is only valid when the user is authenticated and the tranceiver is configured.

  If the terminal can send the packet out to the tranceiver, Route packets have no response, there is no guarantee that the data is received by the spacecraft.

  The packet contents are the bytes that are sent to or from the spacecraft without any additional headers.

  Possible errors:
  \* 0x02 not authenticated
  \* 0x04 not authorized for tranceiver usage
  \* 0x24 tranceiver not configured
  \* 0x25 tranceiver malfunction

  0x15 TRANSLATE PACKET
  ---------------------
  This packet is used by the client to use the Rasvakian dictionary built into the XR-2000.

  If translation of the requested word is available, the terminal will respond with a TRANSLATION (0x16) packet. Otherwise, an RESULT (0x1f) packet will be sent.

  The contents of the packet is the word that needs to be translated.

  Possible errors:
  \* 0x12 translation limiting: send max 1 translate request per second.
  \* 0x50 translation not found

  0x16 TRANSLATION PACKET
  -----------------------
  This packet is sent by the terminal to provide a response to a TRANSLATE (0x20) packet.

  The contents of the packet is the Atlantian translation of the requested word.

  0x1f RESULT PACKET
  -----------------
  This packet is sent from the terminal to the client to indicate an error processing the last packet sent to the terminal.

  Some request types also have a RESULT packet as a response to indicate success. In this case the error type field value will be 0
oezi•5h ago
If you like this kind of puzzle with a Sci-Fi theme then you might also like this:

http://www.boundvariable.org/task.shtml

It was the 2006 edition of the ICFP conference programming contest and it makes you write a small VM which given the provided binary blog leads you to multiple challenges/games.

richmans•5h ago
I didnt know this one, awesome!!
Tepix•1h ago
It's interesting how much this game changes when you use an llm to help you.