HNHacker News
TopNewBestAskShowJobs

billpg

5,638 karma · joined April 24, 2009

http://billpg.com/
submissionscomments
billpg··on Please do not write below the line
Except its complicated. The licence fee is effectively a tax, with criminal consequences for non-payment.
billpg··on Just want simple TLS for your .internal network?
Is "name constraints" new? I wanted to do something similar a decade or two ago and found I'd have to be trusted for all domains, which I wanted to avoid.
billpg··on The IPv6 Transition
I'd be convinced that IPv6 is done when large companies deploy servers on IPv6 only without an IPv4 fall-back.
billpg··on 47-year-old Voyager 1 fired up thrusters it hasn't used in decades
It took a rather embarrassing amount of time before I realised you weren't saying "Voyager Half".
billpg··on Bit Twiddling Hacks (2009)
Decades ago, I discovered a compiler for an obscure microprocessor was generating a subtraction operation to test if two integers are equal. I then turned the optimisations on and it generated an XOR instruction instead.

I suspect a lot of these hacks are used by an optimising compiler.

billpg··on We need to liberate the Postcode Address File
"The government are going to reintroduce ID cards! Panic!"
billpg··on SponsorBlock – skip sponsor segments on YouTube
But how will I become an actual member of the House of Lords by buying a square foot of land in Scotland if I skip the sponsor blocks of videos?
billpg··on SDcard wear leveling and translation layers (2014)
I vaguely recall thinking the file was just some sort of serial number or stock tracking metadata when I deleted it. It might have instead failed for quite mundane reasons such as low quality manufacture. I don't know.

Exposing the firmware in this fashion would be a bad idea for all of these reasons. It is a good thing that SD card manufacturers don't do this any more, if they ever did.

billpg··on SDcard wear leveling and translation layers (2014)
I recall once having an SD card with a mysterious file in the root folder with system and hidden attributes on it. I decided to delete the file and some time later (months), the card suddenly stopped working.

It maybe stopped working once the OS decided the bytes were available for use (which it would only have done without the file marking that space as unavailable) and overwrote that section. I suspect defragmenting or otherwise moving the file about for whatever reason would have had the same effect.

billpg··on All I want for Christmas is a negative leap second
"move the UTC prime meridian"

We'd have two prime meridians. One for time and another for longitude. (Not a deal breaker but we'd have to plan for it.)

billpg··on Why not parse `ls` and what to do instead
Why do you want to put LF bytes into filenames?

Using magic, I've renamed any files you have to remove control characters in the name and made it impossible to make any new ones. (You can thank me later.)

What can't you do now?

billpg··on Show HN: Crawl a modern website to a zip, serve the website from the zip
https://example.com/droste.zip/droste.zip/droste.zip/droste.......
billpg··on The push to ban ransom payments is gaining momentum
As King Æthelred II "The Unready" learnt, once you pay the Danegeld, the Dane leaves you alone and never bothers you again.
billpg··on The push to ban ransom payments is gaining momentum
I've seen enough reports of ransomware gangs failing to return their victims files even when they do pay up, that it's probably best to consider those files irrevocably lost and not pay.
billpg··on MicroSD cards' SBC days are numbered
Not the point of that article, but I prefer the full sized SD cards. You could comfortably hold them and there was space to write on a label. MicroSDs are too small and fiddly to handle.
billpg··on Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications
"We've built X. It allows you to run graphical applications over a network."

"Here's an optimization for when the X display is the same machine as the process."

"We've built Wayland. We all run applications on the same machine as the display and X gets in the way."

"We'd like to run applications from machines over the internet."

"We've built Wprs. It allows you to run graphical applications over a network."

That's the circle of life.....

billpg··on UTC, Tai, and Unix Time (2001)
Pick Two.

    A. A day is divided into a fixed number of smaller units.
    B. Each smaller time unit is of a fixed physical duration.
    C. The day cycle corresponds to the cycle of the solar day on Earth. 
TAI picks A and B, allowing the solar cycle to drift from the time.

UTC picks B and C, adding leap seconds to keep track with Earth's solar day cycle.

UT1 picks A and C, redefining the "second" to the changing rate of earth's solar day cycle.

billpg··on Open Sourcing DOS 4
I'm seeing FreeDOS mentioned here, but I do wonder what practical use it is being put to. I only ever see it as something computer makers write into the hard disk because they have to put something there, which gets promptly wiped and replaced with a variety of Linux. (Why they couldn't ship an empty HD, I have no idea.)
billpg··on North Korea Hacked Him. So He Took Down Its Internet (2022)
North Korea has the Internet?
billpg··on Programming with DOS Debugger (2003)
My 80s era BBC Micro came with a 6502 assembler as part of BASIC built into ROM.

It was a little quirky in that it was a two-pass assembler only if you put it inside a FOR loop and turned off unknown-identifier errors on the first pass. I was told you could write rudimentary assembler macros with judicious use of PROC but I could never get it working.

billpg··on What even is a JSON number?
"ID numbers start from 2^53 and are allocated sequentially including odd numbers that are not compatible with "double" types. Please ensure you are reading this value as a 64-bit integer."
billpg··on Why a Small Island Has Been Fighting to Reclaim .nu on the Web
Odd that Swedish courts are settling the matter. Wouldn't that be a matter for the Niue legal system?
billpg··on Updating Gov.uk’s crown
Don't vote for him then?
billpg··on On the Costs of Syscalls (2021)
A website from French Antarctica? Cool.
billpg··on Tell HN: Hacker News now supports IPv6
That's great news, but I'd only say that IPv6 has actually made it when HN switches off their IPv4 address.
billpg··on Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative
I configured my github to only allow commits with an anonymised email address. Time passed and I used another machine on which I had already opened that repo before. I pulled my recent work successfully, wrote stuff and then committed and pushed.

Github rejected my commit as I had the wrong email address. I then had to try and work out how I delete a commit but keep all my changes so I could commit it all again but with the correct email address.

I'm not sure exactly what I did but in my ham-fisted experimentation I deleted the commit and restored my local copy back to the way it was before my commit, losing all my work that day.

billpg··on Portable Web Documents – An Alternative to PDF Based on HTML5 (2019)
HTML can already have CSS and JS embedded with little ceremony. You can sorta embed images with data URLs, but I kinda wish you could instead add blocks of base64 encoding to the end of the HTML and reference it with a special IMG attribute. With that, if browsers could auto-detect GZIP-compressed-HTML and un-gzip silently, we'd have the ideal self-contained document.
billpg··on DJGPP
DOS: "One of our commands allows separation of filenames with a + symbol, so we need to prohibit that character."

"Couldn't we rework that command to not use + separators?"

"No, far better to take that character out of consideration."

Unix: "Filenames can use control characters. I don't care if that makes pipes between commands really complicated! Add an option for NUL-separated filenames if you have to."

billpg··on Ask HN: How can I run untrusted Python code?
Thank you. I'll have a look at that API and see what I can learn from it.
billpg··on Ask HN: How can I run untrusted Python code?
Thank you very much for the thorough answer.

I hadn't considered that angle, that someone might not want to reveal their player logic to me. What you suggested was my "plan B" where instead of communicating over stdin/stdout, the players connect to m server over TCP/TLS and communicate over that channel instead.

I didn't want to do it this way because I liked the idea of running in a closed autonomous system. That ZIP file has to contain all the state of the player. Your robot is out there in the world alone and separated from their owner. It isn't just communication with a human I wanted to restrict, but any external system. Databases, helper systems, anything like that.

The idea of doing this way stemmed from playing CRobots in my teens in the late 80s. The robot has to be completely autonomous without the ability for a human to step in. I found programming a fighting robot rather frustrating in the end but I recalled the experience when I stumbled upon poker bots.

Your post may just cause me to pick up that plan B and leave trying to find that sandbox mode for Python. I'll be sure to thank you if I ever build something bigger than some rough plans in a text file.

← PreviousPage 4 of 34Next →