HN user

c00lio

389 karma
Posts0
Comments146
View on HN
No posts found.

So I'll route my CI integration tests that test communication from application to database through the loadbalancer? And I'll teach the loadbalancer to talk to itself to talk to the autoscaling web backends it needs to talk to because only the loadbalancer has a valid certificate? Nice brain-knot.

And talking about security risks, wildcard certs are especially dangerous and should be forbidden from ever existing. They just lead to "copy it everywhere"-keys that, sooner or later, will leak. And that won't be revoked or replaced, because of course everything will break at once.

Oh, and the certificate errors will also come with external CAs. Chain too long? Error in some browsers. ECC signature? Error in some browsers. Chain with different paths? Error in some browsers. 4096bit certificate somewhere? Error in some browsers. Two different valid roots? Error in some browsers.

There are tons of reasons to not use an external CA.

First, cost. Any CA that issues unlimited certificates will charge tons of money. Free CAs like letsencrypt do have rate limits that we would frequently hit with autoscaling environments, CI jobs, and such.

Also, CAs require the use of certificate transparency logs. Which will expose your internal infrastructure data to the public. It will, by exposing autoscaling data, also expose financial data (at least in hints), e.g. by showing that last christmas, your scaling peak was far higher.

And external CAs are a security risk because you need to provide firewall exceptions and/or transfer mechanisms for certificates into your internal infrastructure that you would usually want to isolate.

Lastly, an external CA is an availability risk. Should your external CA be unreachable for some reason, you might not be able to run any CI jobs or auto-scale-up your infra.

No. The problem is overall resource consumption. Which is a product: people * consumption/person. Since consumption per person has a lower limit, there has to be an upper limit for the sustainable number of people on the planet. Since standard of living should be at least equal to that of your ancestors, resource consumption per person will also be above the bare necessary minimum. And since the normal mode of population growth is exponential, any change in consumption per person is meaningless anyways, the overall resource consumption would be exponential nonetheless. So yes, we are always on the verge of overpopulation, followed by catastrophic collapse. We only avoided collapse in the past because technology (industrialization, green revolution) enabled exponential growth in resource production. But that might be a one-time thing.

No. Prisoners' dilemma.

There are two possible answers to climate change: avoidance and preparation. Avoidance means that the world reduces its CO₂-footprint to zero or less to limit global warming or even to revert it. Preparation means that, if global warming cannot be avoided, states prepare for the changes in weather, sea level, agriculture, etc.

Avoidance can only work if all nations worldwide do participate to reduce their CO₂-footprint. If some big nations do nothing, or even worse, if non-consumption of fossil fuels by western nations causes a price drop and a shift of fossil fuel consumption to the rest (instead of an overall reduction), avoidance by the west is pointless and a waste of resources. All the world has to participate for avoidance to be successful.

On the other hand, preparation mostly works on a more local level. Nations with coastlines invest to protect those, nations threatened by water shortages invest in countermeasures such as maybe desalination or storages, etc. Even if the rest of the world doesn't care, preparation will mostly work for the local community.

Both avoidance and preparation need a lot of resources. But allocation to avoidance is only sensible if every nation agrees to it, otherwise those resources are wasted and far better spent on preparation.

No. I was just explaining why copper is better in that regard, not that I would personally care that much. I do prefer stainless steel, because it is more robust, dishwasher-safe and cheaper.

Over here, your water bill has 2 components, the price of the fresh water and the price of the waste water. Waste water is at least as expensive per m³ as fresh water, sometimes more than double. If you are using rain water, you save on the fresh water price, but you have to still pay for the waste water. And since waste water price is calculated from your fresh water consumption, you either have to have a second meter for the rain water (expensive) or you pay for an estimated amount of rainwater calculated from the roof area you are collecting from. Also very expensive, because the estimate is always not in your favour.

So not really "free" at all, and rather expensive enough that nobody does it...

Water bottles, if not cleaned properly with a soap and brush on the inside, will be coated with a bacterial "lawn". Copper prevents that. Lots of bacteria need such a lawn to propagate, only some can multiply without a substrate. So even if the "free" water part won't be desinfected, copper has an overall positive effect on the bacterial content of your drinking water.

11. No pets.

Your pet is more harmful to the environment than your car.

12. Less or no children.

All of the above, combined.

It isn't that there is no such thing as "a way to open/close transactions". It is that transactions usually break all the supposed ORM benefits like composability. Often, you cannot even method-chain transactions like foo.search().begin().insert().insert().commit(), you have to do it in multiple lines. Even worse, rollback handling is often an exception, breaking control flow of your application.

And most only support basic transactions, not checkpoints.

Also, most ORMs make it hard or ignore the possibility of using database transactions, checkpoints, partial or full rollbacks, etc. Which might be fine for trivial queries, low write load and unimportant data. But for anything moderately important or complex, transactions are essential.

Problem is, Germany is in a central location in Europe. Lots of east-west and north-south transit going through. That transit has to use the autobahn, for various reasons.

One is the EU: forcing them to use railway loading (such as in Switzerland) isn't possible due to the EU demanding free transit. Making transit on the autobahn prohibitively expensive by fees isn't possible, because the EU can and will veto higher fees or special transit fees. Changing status quo in the EU isn't possible, because all Germany's neighbours will veto.

Second is technical: Railways aren't standardized. Track width changes towards the east. Train station platforms and tunnels are different width and height per country, your load will bump into stuff unless you do lowest-common-size (which is smaller than a normal 20ft/40ft container crosssection, so non-viable). Signaling is different in each and every EU country. Rolling stock for goods transport is usually decades old and doesn't support any of the necessary modern safety standards like ECTS that are used on new tracks and cross-border. So you would have to have huge reloading terminals on each railway track and each border. Or you would have to modernize the railway system across Europe. Huge costs and lack of current demand create a chicken-egg-scenario here. Also, reloading creates delays, which the current just-in-time logistics are allergic to.

Third is domestic: There is also non-transit traffic, where origin or destination is somewhere in Germany. Those will still have to use roads, because the country doesn't have a dense-enough railway network. And building a sufficiently dense one would take forever, if at all possible. New construction is usually extremely expensive, delayed or stopped due to environmental/noise/landmark protection reasons (usually NIMBYs successfully abusing those regs). Only possibility is small extensions, such as "make this road/track/... a little wider", because it is already there which makes arguing against it on the aforementioned grounds harder.

So we maybe will debate if railways ever will take off and then just extend the autobahn. Because there is actually no other choice.

On Windows there is a very rich permission system, and ever request goes through a whole stack of Filesystem Filter Drivers and other indirections that can log, verify or change them. This is great from a functionality standpoint: virus scanners get a chance to scan files as you open them and deny you access if they find something,

Yes, but still it seems to be useless to implementers, because practically every virus scanner implements braindead stuff like DLL injection for on-access-scanning.

Misunderstood or intentionally misapplied "wisdom" like "premature optimisation is the root of all evil".

Programmer comfort, unified frameworks, higher level languages over user experience.

Focus on end users instead of professional users.

Stupider programmers and programming through "good enough", "everyone can code" and "salaries are too high, hire someone cheaper".

Computers getting cheaper, therefore users buying new machines to run software faster, instead of programmers trying to get stuff running fast on current hardware.

Nope. Overseas offices in those regions still get attacked from the same locations in "the East". There is only a small local component, e.g. because some local ISPs filter SMTP on external gateways, but not internally, e.g. in South America.

Because attribution of cyber-attacks is a guessing game. One that is easily manipulated.

Together with wide-open networks, shitty endpoint security and missing abuse handling in Eastern countries, they could be originators or proxies for an attack. It isn't really possible to distinguish those, there can be hints, but those hints might as well be planted.

So all the "China is attacking us" panic might still be "Western criminals are attacking us, China is just helping through their gross negligence".

Same. 70% of SSH scanners we see is from some (red-)Chinese network. Distant seconds are Russia, Belarus, India. Sometimes, rarely, one sees some Western cloud provider or hoster, but there the activity is typically short-lived due to working abuse-handling.

Sibling comment mentions proxying, which would be an explanation. But still, there is absolutely no working abuse handling on Chinese or Russian networks. Either they do not care or are complicit.

Each bitcoin is identified by a block assigning it to a key. Keys are not guaranteed to be unique, with enough guesses you can duplicate one (if you have some time before the heat death of the universe or so) and maybe win the lottery (i.e. access to someone else's bitcoins). So in all, things are more "very probably unique".