HN user

PaulAJ

1,414 karma
Posts9
Comments323
View on HN

Anyone who doesn't understand what's so difficult should read this:

https://wiki.c2.com/?WhyIsPayrollHard

Its from a different domain, but it gives you a flavour of the headaches you encounter. These systems always look simple from the outside, but once you get inside you find endless reams of interrelated and arbitrary business rules that have accumulated. There is probably no complete specification (unless you count the accumulated legal, regulatory and procedural history of the DVLA), and the old code will have little or no accurate documentation (if you are lucky there will be comments).

The ONT's job is to translate from (typically) Ethernet to the optical fibre, and nothing else. In networking terms its "Level 1"; concerned only with moving bits from one end to the other. Most ISPs will provide an ONT which does that and nothing else, and then a regular router/firewall that plugs in to the ONT via Ethernet.

Your security barrier is the firewall in the router, plus whatever encryption you apply to comms outside it. As long as you get that right your ISP can't see what you are doing apart from the to/from addresses on your packets (which can't be hidden, obviously).

ISPs generally push their own managed router/firewall at you because that way when something isn't working you don't wind up with arguments about who's fault it is, and the ISP can troubleshoot your router. But in my experience they have no problem with you unplugging their device and plugging your own in instead.

I haven't seen an ISP which does the ONT and the router in a single box. Its theoretically possible, but would be a bad idea for several reasons. One is security, as you say. Another is that the fibre can't be extended with more wire, unlike a copper phone line. So the ONT tends to be a small wall-mounted box with an Ethernet jack in it. That way your Wifi access point isn't stuck low down next to your front door or something.

Also missing from this are:

* The time you spend managing and supervising, including desk-checking the stuff they send out, because it goes out under your name and you are only as good as your last job.

* IT costs, and office space if they aren't working from home.

* Liability insurance in case they screw up. (Not certain about this: maybe you just trust that your company is a sufficient legal firewall because its only asset is you).

I remember back around 1990 hearing that for my big company employer putting a coder in a seat in front of a computer cost roughly twice their salary. That's still true today.

999 Request Denied 3 years ago

Has anyone pointed out that in the UK 999 is the emergency number (like 911 in the US). So "999 Request Denied" sounds like a public safety issue to someone who doesn't speak tech. Make it 998 if you must.

Nothing specific, but I've seen some big systems from the inside, and I know the kind of thing that leads to failures:

* Back in the 60s they got a big IBM computer to do some stuff. Then later on they needed to do other stuff. The old computer was too expensive and difficult to replace, so they got a new VAX or something to do the new stuff and talk to the old mainframe. Then some PCs got added to do more stuff, and so on. Today the back end consists of many different systems of different ages all talking to each other using different protocols that were designed against different requirements. Newer systems are forever being patched and updated to cope with new requirements, while the code for old requirements lurks waiting to be accidentally reactivated. Each of these systems has its own specialists for care and feeding, but nobody fully understands the whole thing. When something goes down there are not many people who can diagnose the fault and get it back up.

* Government contracts have lots of rules around them to ensure value for money and prevent corruption (see the UK COVID PPE fiasco for what happens when you try to cut these rules out). But the size and complexity make even bidding for a big contract very expensive and complicated, so it tends to be the preserve of a few big companies who chose to specialise in it. Their core competence is winning these contracts, not delivering on them later.

* These rules mean that everything has to be specified in detail up front, so that everybody knows what is supposed to happen. But this makes the whole thing horribly inflexible. As new requirements emerge from the woodwork there is a continuous process of renegotiation.

* The UK civil service is based around the "cult of the gifted amateur". Senior managers are rotated around departments every few years. So the person who kicks off a project is rarely the person who sees it through. Everybody gets to blame someone else for failure.

* When one of these big contractors fails to deliver, the Government has to chose between suing to get their money back (or some of it) in a few years, or getting the at least part of the system they actually need at a higher price. The government doesn't need the money, it needs the system. So the contractor gets to carry on regardless of failure.

* Humans are very bad at managing small risks with large consequences. Many big disaster stories have at their heart someone who decided that the risk was too small to be bothered with.

One thing to remember: Small Claims Court (or whatever it is called where you live). Most jurisdictions have something like this: a light-weight court system without lawyers for low-value cases. Pay a minimal fee, like 10% of your claim, up front, and your claim is in.

Just make sure you know exactly who your counterparty is. If the item is sold by someone else via Amazon then your first target is the seller, not Amazon. HOWEVER there may be the Amazon A-Z guarantee, which is part of their deal with you, and which you can sue them over.

I'm always amazed about how stories like this never seem to talk about "here is how you use the court system when MegaCorp stonewalls you".

SAP has a very clear idea of how it makes money. It makes money by selling to senior managers who don't have to use it, and have very little idea of the realities for people on the front line. So SAP have no incentive to produce a system that is useable, because that won't increase their sales. Their sales are increased by clever salespeople, so that is where the money goes.

On secrets: you should be cycling all your secrets on a regular basis anyway. If you aren't, now might be a good time to start.

In addition to the good advice here, you might want to check for anything potentially embarrassing, such as offensive language in comments, identifiers or commit comments. Some "tech bros" can be remarkably dumb about that stuff. Of course if you developed all this yourself, no problem.

The Stroad 5 years ago

Here in the UK stroads were pretty much eliminated everywhere during the 70s and 80s by building bypasses. A bypass is a road built in an arc around a town to divert through-traffic away from the town centre, leaving only the slow street traffic (mostly people coming from outside town to shop). Larger towns have more complicated arrangements, but the pattern is the same: keep through traffic away from the streets in the business area. The business area itself is often pedestrian-only and always has restrictions to make driving through it a slow business.

Typical example: https://www.google.co.uk/maps/@50.9997356,-0.9166437,14.25z?...

More complex example: https://www.google.co.uk/maps/@51.1101752,-0.1713974,7297m/d... . Note the M23 on one side, Crawley Avenue on the other, and Peglar Way right in the middle. All of them serve to route traffic around the town centre instead of through it.

In many cases you can see how the original through-road (sometimes dating back to Roman times) had the bypass patched on; without the bypass the "High Street" would have been a stroad.

(Fans of The Hitchhikers Guide to the Galaxy may recall Arthur Dent's cottage being demolished to make way for a bypass. This was an issue: the nature of bypasses meant that building them often required the demolition of nice little cottages on the outskirts of small towns.)

One of the difficulties of separating small-tribe economics from the rest of their social system is that the members of a small tribe don't think of it like that. If you live in that kind of society then you know personally the people you are dealing with, and while you might "trade" items or favours, its all pretty approximate, with the "balances" held in peoples heads, and tied in with other concepts of social obligation such as a general duty to look after the sick and elderly, and watch out for each other's children. It's only once people start living in larger groups where you can't know everyone that something like an economic system develops.

I checked that one out myself. Modern economics textbooks don't do that.

That entire section seemed to be Graeber saying "Economists have been promoting a myth for the last two centuries, but here I graciously point out their error so that they may be corrected and learn the truth." It never seems to occur to him that he might be tilting at a straw man.

I'm quite happy to agree that Smith got it wrong, but the modern examples Graeber cites don't support his claims. If you read them more carefully, what they are saying is "IF we were to live in a barter world then it would be very inefficient, hence money". They don't say that Barter World ever existed; its just a thought experiment.

I've read "Debt: The First 5,000 Years". It is not a work of genius. It is a rambling incoherent mess. Graeber cherry-picks bits of real history, anecdotes and random myths, and shoehorns them into some kind of predefined narrative which seems to equate modern notions of debt (with its limited liability, bankruptcy and non-inheritance) with the kind of chattel debt-slavery that existed in the past.

I say "seems to" because it is genuinely hard to tell. He will be talking about the temple-banks of ancient Sumer or the customs of the Maori, and then suddenly go off on a long diatribe about how this compares to modern banking. Hidden away in this will be a bald assertion prefixed by "of course" which left me screaming "citation needed!". If you weren't watching for it you might miss it. But once you spot it you realise that the whole of the rest of the chapter just collapsed into meaningless drivel.

I cannot think that this guy was a genius.

Just for anyone coming to this who, like me, assumed that "IBM Cheese Cutter" was a nickname for some 1970s bit of computer hardware that hung off the side of an S/360.

This is a device for cutting big round "wheels" of cheese. It dates from the 1910s, and would have been used in retail outlets selling cheese. In those days cheese was sold wholesale in big "wheels": round blocks of cheese weighing maybe 70 or 80 lb. (High-end cheese is still sold this way, if you really want to buy that much of it).

A retail customer would ask the counter-clerk for 6 oz of Gorgonzola, and he would pull out one of these big wheels, probably with a segment already cut out for previous customers, and slice off 6 oz.

Problem: how to get exactly 6 oz first time. Customers don't want a couple of little chunks added to make up the weight, and slicing off chunks from what you cut to bring the weight back down is wasteful because nobody wants the scraps. Solution: this machine. It has a lever for setting the original weight of the wheel, and another for the weight the customer wants. A nifty bit of mechanical analogue computer underneath rotates the cheese by exactly the right amount.

Not the same things AT ALL.

Stories 1 and 3 are about one fantasist who managed to trick a bunch of regular news outlets.

Story 2 is about a single flawed report from the BBC.

You can sit back and complain that not enough checking is being done by reporters and editors at mainstream media sites, and you would be right; the pressure is always on reporters and editors to get the story out and move on to the next one; the news cycle has got shorter and at the same time budgets have got tighter.

But an occasional failing to meet high standards like that is a million miles away from deliberately setting up a ring of supposedly independent web sites with the intent of pushing lies 24x7 and carefully calculating how to get as many people as possible to believe in those lies.

Monads are a unification of a bunch of computer stuff, including sequencing, IO, non-determinism, state, concurrency and exceptions. When I say "unification", I mean it in the sense that Newton's theory of gravity unified the motion of the planets with a falling apple (previously they were considered separate phenomena), or how Maxwell's equations unified electricity and magnetism. Once you grok monads you realise that all those different things I listed are just special cases of one overarching theory.

Presumably this is going to get interesting when they try to export hardware containing Arm-China items to the West. Arm will claim that it contains pirate IP, leading to seizures at the border.