HNHacker News
TopNewBestAskShowJobs

saulr

300 karma · joined March 18, 2013

submissionscomments
saulr··on Game devs explain the tricks involved with letting you pause a game
Spectators don't watch the game on the same server that's hosting the game. The host server sends the traffic to a 'relay' on a delay, which spectators then connect to. Similarly for the HTTP streamed games, the game server is writing the data for spectators on a delay.
saulr··on Game Devs Explain the Tricks Involved with Letting You Pause a Game
This absolutely still exists - I have a library for reading Source 2 (CS2, Deadlock etc) demo files and streams (HTTP ones like CSTV).

https://github.com/saul/demofile-net

saulr··on How London cracked mobile phone coverage on the Underground
Just to add a piece of data to support this:

> It turns out the phone signal inside the station can be better than the one above ground

I was surprised when I noticed I had 5G in the tunnel, ran a speed test and hit 641Mbps down!

https://www.speedtest.net/result/i/6831252952

saulr··on Post Office lied and threatened BBC over Fujitsu dev whistleblower
> the fact that Post Office Ltd has inherited the ability to prosecute crimes committed against itself

Any private citizen or business in the UK has a right to prosecute crimes. It just costs a lot of money, so you can imagine how it's used (spoiler: large companies/wealthy individuals against poor people).

saulr··on Drop Table “Companies”;– LTD (2016)
This ultimately resulted in a new restriction in a bill making its way through Parliament that "a company must not be registered under this Act by a name that, in the opinion of the Secretary of State, consists of or includes computer code".

See page 16 of the Economic Crime and Corporate Transparency Bill (https://bills.parliament.uk/publications/49554/documents/283...)

saulr··on Just say no to :latest
Worth noting that Hadolint[1] raises warnings the issues mentioned in the article. Some examples of warnings:

- https://github.com/hadolint/hadolint/wiki/DL3007: Using latest is prone to errors if the image will ever update. Pin the version explicitly to a release tag. - https://github.com/hadolint/hadolint/wiki/DL3013: Pin versions in pip. - https://github.com/hadolint/hadolint/wiki/DL3018: Pin versions in apk add.

[1] https://github.com/hadolint/hadolint

saulr··on Anatomy of a Terminal Emulator
On Linux, .NET does write ANSI escape sequences to stdout for you. ConsolePal.Unix.cs (Pal in this context referring to 'platform abstraction layer') does the work for you behind the scenes: https://github.com/dotnet/runtime/blob/10eb1a9ff1c09de4a2a1f...
saulr··on Google is considering removing alert()
I believe this tweet has been twisted from the original tweet, which is that _cross origin_ alert (e.g. from an iframe) is the thing being removed. Using alert etc from the main frame will continue to work.
saulr··on IPv4 pricing
iCloud Private Relay, coming in iOS 15, does appear to be native IPv6. I wonder if this will have a noticeable effect on IPv6 adoption stats when it's released to the public[1]?

[1] https://www.google.com/intl/en/ipv6/statistics.html

saulr··on Internet Explorer 11 (IE11) to be retired on June 15, 2022
Edge supports WebDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-ch...
saulr··on Writing high performance F# code
If you're in the market for an F# job in London, please reach out to me at Saul.Rennison@gresearch.co.uk. We have an full-time F# engineer open right now.
saulr··on Ask HN: Who is hiring? (February 2021)
G-Research | F# Engineer | Full-time | London - ONSITE after COVID | https://gresearch.co.uk

G-Research is Europe's leading quantitative finance research firm. We hire the brightest minds in the world to tackle some of the biggest questions in finance. We pair this expertise with machine learning, big data, and some of the most advanced technology available to predict movements in financial markets.

G-Research are one of the largest commercial users of F# in the world and we're looking to hire an engineer to join the F# libraries/frameworks team. Whether you're an established functional programmer already or are keen to give it a try, we'd love to hear from you.

I'm one of the developers on the team, so you can reach out directly to me if you’re interested or know someone that might be: Saul.Rennison@gresearch.co.uk

saulr··on F# for fun and profit: Terms and Conditions
The companies using F# are definitely few and far between, but G-Research in London are hiring an F# developer at the moment.

If this sounds like something you’d be interested in, please reach out to me at: im (at) saul.re

saulr··on F# for fun and profit: Terms and Conditions
I have several years of full-time F# experience and I’ve also made some contributions to the F# support for Rider.

1. As part of my job I flip between C# and F# often and with each new release of Rider the IDE-support gap between them is closing. Obviously C# has many more years of attention and work on its tooling, but there are very few things I yearn for when editing F# code nowadays. I also find Rider far better to use than VS Code for F#, simply because I’m so comfortable with JetBrains’s IDEs now.

2. Any time I have to model anything remotely complex in C# I always wish I was doing it in F# instead. Features like discriminated unions, exhaustive pattern matching and immutability-by-default immediately spring to mind.

saulr··on A Message About Vanguard From Our Security and Privacy Teams
I believe newer Valve multiplayer games (e.g. Dota, CSGO) use Steam Networking instead of the game sending UDP itself. Packets sent with Steam Networking are encrypted[0].

Before CSGO moved to Steam Networking, the game itself encrypted the packets. I can't remember exactly when this was introduced, but it's still in place - see https://github.com/alliedmodders/hl2sdk/blob/acf932ae06b64b7...

[0] https://partner.steamgames.com/doc/features/multiplayer/netw...

saulr··on Scripting API now in public beta
Funny to see someone linking to one of my tutorials :) I'd completely forgotten I wrote all of those!
saulr··on F# 4.1 and Visual F# Tools for Visual Studio 2017
Hey Philip, great post - really informative. Especially happy to see that the nightly releases are coming along considering the pace of improvements by the likes of Vasily and all the rest.

I do have a small question about the Visual F# team at Microsoft. Are there any plans to grow the team at all? It seems that the company deems F# as a second class .Net language, preferring VB.Net/C# when it comes to contributions from employees and IDE features. Given the popularity of F# in surveys such as the recent annual Stack Overflow developers survey, is there any interest at the company to put more manpower to F# development?

P.S. I hope to see you around at the F# Exchange in London next month if I go.

saulr··on Ln – NTFS hard/symbolic link command line tool
WSL does support network adapter enumeration as of build 14965.

Take a look at this blog post from November: https://blogs.msdn.microsoft.com/commandline/2016/11/10/ifco...

saulr··on Windows file system compression had to be dumbed down
If you disable hibernation then the hiberfil will disappear. With low power states in modern computers, sleep is suffice (hibernate is a relic from old Windows):

> powercfg -h off

saulr··on Improving Color on the Web
Very interesting. Just to clarify, am I right in saying that 10-bit colour just provides more precise colours within the sRGB gamut? 10-bit colour does not extend the colour gamut in anyway?
saulr··on The rational exuberance of 5G
Check out uswitch, they have a few unlimited data deals: https://www.uswitch.com/mobiles/compare/sim_only_deals/

(Select "Unlimited data" from the filters on the left-side)

saulr··on The rational exuberance of 5G
They definitely do - I signed up to one the other week.

Three do "all-you-can-eat" 4G data + 200 minutes = £23/month (50% off first 6 months)

saulr··on More awful IoT stuff
Completely agree except the light argument -- having my lights cloud connected allows me to control them remotely. The main use for this is for time or sunrise/sunset scheduling. However you could quite easily architecture this without cloud connectivity, it seems easiest to keep the bulb dumb and keep the 'smarts' elsewhere (whether that's on a phone locally or a server in the cloud).
saulr··on “autocomplete=off is ignored on non-login input elements”
The standard is only a hint to the user agent, not a MUST.
saulr··on CurrentC Ends Beta Tests, Will Deactivate Accounts
Just to add to this, Mastercard and Visa have set a 2020 limit for all card machines in Europe to support contactless payments.
saulr··on My name still causes SQL errors
Sanitizing usually means escaping. i.e., sanitizing as to not be dangerous, escape any dangerous sequences.
saulr··on SSH for Fun and Profit
If the author is reading this, I always find it useful to run HTML CodeSniffer [1] to find contrast accessibility violations. It gives you the closest colour that meets the contrast requirements. With a few small colour tweaks, I got the number of WCAG AA violations down from 115 errors to 17 (the remainder are primarily contrast issues with the code blocks).

P.S. Loved the article!

[1] https://squizlabs.github.io/HTML_CodeSniffer/

saulr··on Being a Developer After 40
Likewise for Computer Science classes in Western Europe (and I imagine North America). This is the issue with arbitrary quotas/targets for hiring female engineers - there is a lack of those qualified. I acknowledge that there is a huge disparity between male/female workers in the field, but the issue is far earlier in an aspiring engineer's life than getting a job. STEM subjects have far fewer female students than male - this is the core of the issue. The lack of women in STEM careers is a symptom of this core problem.
saulr··on Show HN: I made an interactive Bootstrap 4 cheat sheet
The user isn't changing page, so you definitely shouldn't be using pushState. If you want to update the address bar, use replaceState. After clicking a few of them I certainly didn't expect to have to click back to cycle through them just to get back to HN.
saulr··on What to do with the “rm -rf” hoax question
It's not against the rules to answer your own question, as far as I'm aware. If the question is one that other users may ask, and you have an answer, I don't see what's wrong with posting questions and immediately answering them.
Page 1 of 2Next →