HN user

Paul_S

3,786 karma

embedded developer, ex-gamedev

Posts94
Comments898
View on HN
www.btcpolicy.org 20d ago

Foreign Influence in the Campaign Against American AI

Paul_S
3pts0
forum.retro-rides.org 1mo ago

In China, Juncheng Vehicle Co Is Making New AE86

Paul_S
2pts1
www.youtube.com 1y ago

Yudkowsky and Wolfram on AI Risk [video]

Paul_S
4pts0
www.videogameschronicle.com 2y ago

Square Enix confirms US, EU layoffs as part of restructuring

Paul_S
3pts0
www.youtube.com 2y ago

GZDoom Isometric Camera with Orthographic Projection [video]

Paul_S
17pts2
twitwi.itch.io 2y ago

Rising Up – Browser Game

Paul_S
1pts1
old.reddit.com 2y ago

GTA V source code was leaked

Paul_S
3pts0
www.thegamer.com 2y ago

Xbox Will "Exit the Gaming Business" If Game Pass Doesn't Get Enough Subscribers

Paul_S
17pts15
www.ign.com 2y ago

Microsoft Stopped Announcing Xbox Console Sales

Paul_S
3pts0
www.washingtonpost.com 2y ago

Henry Kissinger Dies at 100

Paul_S
5pts4
www.theguardian.com 2y ago

UK flight chaos could last for days, airline passengers warned

Paul_S
7pts1
www.theguardian.com 2y ago

Ukrainians want pro-Stalin writer stripped of Pulitzer

Paul_S
6pts1
www.timhunkin.com 2y ago

Tim Hunkin (Secret Lives of Machines)

Paul_S
112pts23
www.reuters.com 2y ago

China state banks seen selling US dollars to prop up yuan

Paul_S
3pts2
fortune.com 3y ago

Harvard withdrs papers from its professor after she was found to be dishonest

Paul_S
2pts1
www.forbes.com 3y ago

Video Game Writer Chris Avellone’s Accusers Retract Allegations of Misconduct

Paul_S
4pts0
www.audioasylum.com 3y ago

Improved audio rendering with an optimised version of memcpy (2013)

Paul_S
529pts757
news.ycombinator.com 3y ago

Ask HN: How would you do layoffs right?

Paul_S
3pts4
www.indieretronews.com 3y ago

Amaurote – A classic Mastertronic game has been re-released on the C64

Paul_S
1pts0
www.youtube.com 3y ago

Car suspension simulation in an Analog Computer (2010)

Paul_S
1pts0
blind.shadows1428.com 3y ago

PC Game "1428: Shadows over Silesia" for the blind

Paul_S
1pts0
wiki.cci.arts.ac.uk 3y ago

Using the Silver Reed SK840 Knitting Machine

Paul_S
96pts19
www.bbc.co.uk 3y ago

Darya Dugina: Daughter of Putin ally killed in Moscow bomb

Paul_S
11pts7
www.tyreextinguishers.com 4y ago

Tyre Extinguishers

Paul_S
2pts0
www.bloomberg.com 4y ago

UK Household Incomes Are in the Longest-Ever Run of Declines

Paul_S
30pts23
www.youtube.com 4y ago

DEF CON 26 – GOD MODE UNLOCKED Hardware Backdoors in redacted x86 (2018)

Paul_S
8pts1
www.reuters.com 4y ago

Three EU country leaders arrive in Kyiv in show of support for Ukraine

Paul_S
7pts5
www.ft.com 4y ago

Russia's invasion to have 'enormous impact' on world food supplies

Paul_S
4pts1
www.polygon.com 4y ago

Bundle for Ukraine offers more than 500 games for $10

Paul_S
8pts0
www.pushsquare.com 4y ago

Cyberpunk 2077 Update 1.5

Paul_S
83pts150

"Avoid even audiobooks. Big corporations want to grab your attention by trying to market audiobooks as books for busy people, but don’t fall for the trap."

What nonsense. I doubled my number of books by using audiobooks. Audiobooks slow you down as well, so you can enjoy fiction at a slower pace since x3 is the fastest you can go (plus silence trimming for extra speedup). Even at slower speed I more than doubled the number because of how much dead time exists in our lives.

Maybe if you are rich, have servants and can spend any amount of time you want reading then you can stick to paper.

I can tell it's not accurate because it has half the trains marked as on time.

Reality is far more depressing. You'd also need to add ghostly white for cancelled and bus icons for replacement buses. Why do I live here god. Why can't we have a functional train network like literally any other civilised country.

Most drivers here don't adjust the light angle based on loading of the car (if you have passengers in the back in a small car that is enough to move your lights completely out of whack). I assume it's just laziness or the a "not my problem" attitude but some drivers I have spoken to didn't know that lights are adjustable!

The Synology End Game 11 months ago

20 years ago it was a chore but nowadays it's faster than baking a cake. 10 minutes prep time (configure os and add drives), 10 minutes bake time (installation) (or 10+ hours bake time if count building the array)

But let's assume you don't have a clue and have to follow some tutorial and do some reading and it takes you 2 hours. That's amortised across a decade. Especially now when easy distro upgrades are basically unattended so you can use the same setup for a decade and stay up to date.

The Synology End Game 11 months ago

Any of those cube gaming ones I think are great. I got a dual chamber one which makes shuffling drives and cabling easy. Can't remember the name but it was 90 pounds, way more than I paid for the old 4U, although inflation from the 90s probably means it was more expensive in real terms. Most of the power is used to spin rust so not sure it's worth worrying about the HW power use, just use whatever old pc you can get for free, ask colleagues and family, people throw out working PCs all the time, it's a NAS, not a rendering farm, if it boots it's good enough IMHO.

The Synology End Game 11 months ago

I ran my own NAS for over two decades in some old 4U I got for cheap, using whatever discarded consumer HW I got for free and I never got the point of Synology. Colleague who has one said it's compact. Well, this year I bought one of those gaming cube cases (with space for 10 drives, what do people do with them in gaming pcs? OK, only 8 spaces are actually drawers with grommets but physically you can fit 10) and retired my 4U.

Seriously, takes an hour to setup your own NAS and you can mix any drives, setup any encryption you want, seedbox etc. I totally understand convenience but this is not a email server you're setting up here, it's just a NAS.

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

Are you telling me a country is more constrained by space than a spaceship?

As for democracy "These sorts of societies propagated for hundreds or even thousands of years in antiquity just fine" - I don't know of any that practised the consensus driven democracy that almost all these proposals use. Ant if you're reaching into antiquity then not even normal democracies. Unless you're talking about a Athens with their slaves and adult male citizen population having a vote. In which case sure, I can get behind that but that's not what those spaceship designs propose. They all assume all decisions will be unanimous and no one will ever break the law.

In actual fact history proves the opposite and all exploration and conquest is driven by strict hierarchical organisations and the idea that you can fly a spaceship across light years without a captain who can condemn people to death is laughable.

Does anyone know a game where 2d sprites sit on 3d chairs? This is something this engine will have to tackle.

I played the game and didn't like it, you're welcome to disagree and engage with me by showing examples that disprove my assertions from my original post.

I think I'm on safe grounds calling it a walking simulator. The gameplay is limited to walking down a linear path and clicking on things until all combinations are exhausted - western equivalent of a visual novel (but with less branching).

Amazing novel but this is neither a direct adaptation nor faithful to the novel's message and ideas. It's a modern walking simulator with a the most surface level veneer of what we now consider retro futurism but otherwise modern in its messaging. I'd rather they kept the core and modernised the paint.

I got into woodworking so I could renovate my house. Ended up building a workshop in my garden and furniture for our house. Can't wait to retire from SWEngineering.

Stereotypes reflect statistical reality pretty well - I did bouldering for a long time before I gave up due to fears of injuries (met so many older people there who kept doing it despite acquiring permanent injuries!).

Speaking of memes: get Japanese chisels and hand-saws, just trust me on that one, it's a meme for a good reason. A less known Japanese set of tools that is worth getting is measuring tools instead of ones made by woodpeckers - the monster cable of woodworking world. Their average measuring tools are basically the same standard as our premium brands.

Modern beer, even the industrial lager you despise is much better that what 99% of people drank in the past. There is almost no bad beer, the standards for water quality and hygiene are high, the process and technology is well understood and we can replicate the same beer batch after batch, year after year.

I don't have to read the article to know it's Toyota. That's the kind of brand awareness only years of great track record can buy. If you're playing the long game, money invested in reliability gain you more than marketing.