HNHacker News
TopNewBestAskShowJobs

wavesquid

126 karma · joined September 18, 2018

  - Solution Architect
  - AskADev mentor
  - PostgreSQL Down Under Member
  - AS204378

Github: https://github.com/james-callahan

Twitter: https://twitter.com/wavesquid

"Home": Melbourne, Victoria, Australia

submissionscomments
wavesquid··on C/C++ projects packaged for Zig
The meson build is across multiple files, you should add together:

  meson.build
  meson_options.txt
  doc/meson.build
  egl/meson.build
  src/meson.build
  tests/meson.build
  cursor/meson.build
  doc/doxygen/meson.build
  doc/publican/meson.build
  doc/doxygen/xml/meson.build
  doc/publican/sources/meson.build
  doc/doxygen/xml/Client/meson.build
  doc/doxygen/xml/Server/meson.build
wavesquid··on Self Driving Car Insurance
Is that low or high?
wavesquid··on Confuse some SSH bots and make botters block you
I can't load the page (Firefox mobile on android)
wavesquid··on “Boobs check” – Technique to verify if sites behind CDN are hosted in Iran
Historically?

1. Because TLS certificates were not free

2. Because firewall was "enough" in most people's minds

3. Because TLS was the most CPU intensive part of serving a static site

4. Because some people were using cheap shared hosting providers that upcharged for TLS

wavesquid··on Helm 4.0
The answer today is more than one node (instance/kernel running)
wavesquid··on Bypassing Google's big anti-adblock update
E.g. the Qantas business rewards website was broken in Firefox, along with Qantas hotels
wavesquid··on How fast are Linux pipes anyway?
> splice() is the fastest and most efficient way to transfer data through pipes (on Linux), especially for large volumes. It bypasses memory allocations in userspace (as opposed to read(v)/write(v)), there is no extra buffer management logic, there is no memcpy() or iovec traversal.

Proper use of io_uring should finally have it beat or at least matched.

wavesquid··on Twenty Years of Valgrind (2022)
> are suppression files ever actually used due to an actual false positive,

There used to be one in LuaJIT because it had an optimized string comparison that compared outside of the allocation (which is allowed by the OS as long as you don't cross a page boundary, which LuaJIT's allocation algorithm made sure it never did)

The suppression was removed in https://github.com/LuaJIT/LuaJIT/commit/ff34b48ddd6f2b3bdd26... when the string hashing got a new implementation

wavesquid··on The ghost of a colonial road on the eastern side of the Chrysler Building
I think you can see it up at a building on E 47th: https://imgur.com/a/9dsKmGP
wavesquid··on Setenv Is Not Thread Safe and C Doesn't Want to Fix It
I believe systemd has a way to subscribe to timezone changes.
wavesquid··on Mastercard Should Stop Selling Our Data
For most merchants/terminals, only amex cards tend to send level 3 data.
wavesquid··on NSA Backdoor Key from Lotus-Notes (1997)
The trouble is, as far as I know, that the ME cannot be deactivated. Even if you are a really sensitive network. Your option is to find some of the few Intel chips without it, or find another chip vendor. This often means you can't use common off the shelf systems, so now you can be a victim of a targetted supply chain attack.
wavesquid··on The Maintainer of the Nvidia Open-Source “Nouveau” Linux Kernel Driver Resigns
I've had precisely the opposite happen: the NVIDIA driver had always been janky, either preventing standby,or not playing nice with my kernel, or some other weird incompatibility, while nouveau has been rock solid. This is across multiple desktops and laptops over multiple generations of card.

Without nouveau id actively refuse a laptop with an NVIDIA GPU in it.

wavesquid··on Launch HN: GitStart (YC S19) – Remote junior devs working on production PRs
Often if you send 3 large useful PRS to a corporate open source product you will find an email in your inbox asking to connect.

Send a couple more high quality PRs and you can likely leverage that into a job.

wavesquid··on Docker is deleting Open Source organisations - what you need to know
ECR pull through caching is only possible for other ECR repos or quay.io. you cannot use it for Docker hub.
wavesquid··on Write better error messages
With the important corollary that you need to check for the errornous condition both early and late.

Otherwise people start e.g. checking in the frontend and don't enforce it in the backend in the worse case, or TOCTOU bugs in the best case.

wavesquid··on Geothermal may beat batteries for energy storage
It depends what you're calling "not a very big one". On our farm we have a 5000 litre galvanised high tank for house-water.
wavesquid··on On Device Learning
I think you could get pretty far with avoiding pain and avoiding boredom.

The avoiding boredom can be seen in humans studies like https://www.science.org/doi/10.1126/science.1250830

wavesquid··on Dear Linux, Privileged Ports Must Die
> Requiring that I have to be root to set CAP_NET_BIND_SERVICE every time I replace my web server executable sucks.

There should be no need for that if you use ambient capabilities. Which you can set in e.g. a systemd unit.

wavesquid··on The World Has Passed ‘Peak Agricultural Land’
> An economist walks by a twenty dollar bill on the sidewalk but decides not to pick it up, because if it were really there someone would have picked it up already

I think many farmers do what has worked for the last X decades; often copying what their forebears do with small adjustments.

wavesquid··on Kubernetes is a red flag signalling premature optimisation
For smoke and acceptance tests you can use the sister project argo-rollouts: https://argoproj.github.io/argo-rollouts/

But that's going past an MVP/startup toolset.

wavesquid··on Assertions should be more debugger-oriented
Try gdb-dashboard: https://github.com/cyrus-and/gdb-dashboard
wavesquid··on How safe is Zig?
No need to limit to single-threaded: as long as we reserve enough space in the TLS area it's possible to work with multiple threads.

Zig has future plans to require recursive functions to declare their maximum stack memory usage up-front, so that will provide the rest.

wavesquid··on Linux: Vulnerabilities in nf_tables cause privilege escalation, information leak
Most containers.
wavesquid··on Why is it hard to buy things that work well?
They were in some countries.
wavesquid··on mmWave radar, you won't see it coming
You don't need to identify a face; you can identify people by Gait. If you can resolve something as big as a leg you've got enough, as long as you have it over 10 seconds or so.
wavesquid··on Procrastinatory Doom Loops
In my experience the only way to get these things done is to find a bigger thing to procrastinate about.

This hopefully gets you a bit of mileage until there's one thing you really don't want to do; which you can either hand off to someone else to do (possibly at great dollar or favour cost), or fail at.

wavesquid··on Counting website visitors is hard
What's the question you want to answer? And do you want to monitor specific metrics; or run adhoc queries?

FWIW I'm trialing out using Grafana's Loki for this.

wavesquid··on PostgreSQL's Missing DateDiff Function
So isn't that `age ( timestamp, timestamp ) → interval`?
wavesquid··on Exa - A Modern Replacement for ls
If all you want is colours in your `ls` output, then `ls` already has support.

1. turn on colours for ls in your shell. In your e.g. .bash_rc add:

   alias ls='ls --color=auto
2. if you want more or different colours, you can use the `LS_COLORS` environment variable. There are various pre-made snippets around you may want to use. e.g. https://github.com/trapd00r/LS_COLORS
Page 1 of 2Next →