HN user

onei

1,003 karma
Posts4
Comments261
View on HN

It's a tracking tool. You have a bunch of sites embed an image, and requests to those sites also make requests to said image, which you can use to start tracking a client. A single pixel is merely the cheapest image.

I recall Facebook doing it years ago, I imagine they still do.

I read that line and thought "so, the solution is code review?". What has to happen to your processes that code review is not only missing, but unironically claimed to be the solution?

I know there are some companies that never did code review, but this is Amazon. They should know better.

If you want emails from some random internal machine, you can use one of the HPE SMTP servers. There was one for internal email, another for external iirc although I'm not sure there was a difference in practice. Those SMTP servers would do a DNS lookup before accepting the email.

When I set this sort of thing up, I'd get myself a hostname on an internal subdomain. But that was a truly miserable experience. It was a multi-stage form submission on a server I imagine to be the closest possible relation to an actual potato. It was soul-destroyingly slow. Alternatively, you could just pretend your machine was hpe.com - the hostname was valid, even if the IP was totally wrong, and the SMTP server would accept it.

My guess is that there was a bunch of stuff that pre-dated the HP/HPE split and they took the quick and dirty option whenever the old internal domain name got yanked during the changeover. And if your process runs as root, you get root@hpe.com and hope there's something in the subject/body to identify the specific machine.

MacBook Air M4 1 year ago

I can't speak to the Airs, but I went from an Intel Pro to a M3 Pro in a previous job and the battery life improved massively. I used to be able to heat my study by running a linter, but after the switch I remained chilly. I'm now on a M2 and have broadly observed the same.

I'm not sure if you've misunderstood, so apologies if this is old news. US companies may have teams of engineers in various other countries. But they almost always pay local market rate. In much the same way US companies will pay teams in India their local market rate (which is less again).

My last company paid 2-2.5x a UK salary for a US engineer. Perhaps the ratio for a company like Meta is closer, but I doubt it's equal. For startups you may find random roles that have equal pay globally, but they're relatively uncommon.

The UK monarch's power is largely based on convention more than active decision making. For example, a government is formed at the invitation of the monarch, but that's long reflected the results of an election. Getting rid of a PM generally happens when they run out of luck. That sometimes coincides with the ruling party/coalition imploding. The next PM is then shortlisted by MPs and selected by a minority of the electorate.

I guess the US equivalent is the leader of the house being unable to hold their majority together. In some ways the presidential election feels more democratic if a relative outsider (like Trump was) can win. But a 2 year lead up is crazy.

It's not even just your users. I work on a S3-compatible service where a good chunk of the test suite is built on the AWS SDK.

In reality, AWS are the reference S3 implementation. Every other implementation I've seen has a compatibility page somewhere stating which features they don't support. This is just another to add to the list.

HCL is Hashicorp Configuration Language: https://github.com/hashicorp/hcl.

It's basically a DSL used by a bunch of Hashicorp products.

It's sort of a programming language. Someone I worked with implemented 1 or 2 advent of code exercises with it a couple of years ago, but it's far from a general purpose language.

That seems like short-sighted advice. My company probably isn't paying me to write crypto, web frameworks, database drivers, etc. If it's not where I'm adding business value, I would generally try to use a third-party solution, assuming there's no stdlib equivalent. That likely means my code is an overwhelming minority of what gets executed.

If C dominates your codebase or you're squeezing out every inch of performance, then sure, you may well have written everything libc is missing. In Python, or another language that had a thriving ecosystem of third-party packages, it seems wasteful to write it all in-house.

When RuneScape and Old School RuneScape Wikis forked, the license was changed from CC-By-SA to CC-BY-SA-NC. As a result, all new changes come under the new license. To copy changes back to Fandom, they'd need to update their license to match and as I understand it so forfeit some of their ability to use so much advertising. I'm not sure if that license update was also applied to Minecraft or LoL, but it's a possibility.

The only use of CC-BY-SA-NC on Fandom I can recall is Memory Alpha (Star Trek Wiki) which was acquired with that license. There were some extra hoops to jump through to be able to advertise there - I think they granted themselves the ability to do so through Terms of Use that override the license.

From that article (and a few others)

In fact, staff at Fujitsu, which made and operated the Horizon system, were capable of remotely accessing branch accounts, and had “unrestricted and unaudited” access to those systems, the inquiry heard.

This has always bothered me. Sure, it's possible to build APIs that audit access completely. But I can easily write code that circumvents those APIs. Code isn't like a building where the walls are impenetrable and the doors the only possible access points - we can redecorate without ever touching the door. Building in an unaudited backdoor for operators seems bad, but if you can edit the source code the backdoors are infinite.

It won't tell you about malware. It just means when my customers have questions about well publicised vulnerabilities in open source dependencies, they can audit themselves for the presence of that dependency with a set of standard tooling.

That said, my company is moving towards having SBOMs, but seems to be making them available on request only. Which in my mind defeats the point of having them.

In my experience the reverse is true. There are points in Go where you resign yourself to passing around interface{}/any, just because generics can't (yet) do everything you might want. In doing so, you revert to dynamic typing again, albeit in specific circumstances.

From an outsider perspective, it looks hard to label this as anything but insider trading. Is that the wrong take?