Hacker Newsnew | past | comments | ask | show | jobs | submit | agilob's commentslogin

It does sound bad the way OP described it, but packet or HTTP mirroring is a standard feature of A/B testing and blue-green deployments of a very critical code. Mirror traffic between version 1 and 2, then compare response body, response time and return response A to the end users.

But the comment says ”we were building packet sniffers” … and needed mirroring as part of that.

I used to operate several dozen 10G/25G/40G/100G taps which fed a series of tools in the DC at a regional healthcare back in the day.

80% of the relevant outcome was typically to get a true-to-the-wire sniffer capture (switch mirrors won't always mirror 100% of packets for various reasons) for troubleshooting performance of whatever the complaint of the day from the server team was.

19% was for feeding a security monitoring systems which looked for abnormal flow patterns to let us know a server was compromised.

1% was for the call recording system compliance requirement for the emergency department.

0% was because I was a cool superspy tasked by the government to siphon info to them or trying to sell medical records on the black market or something. I mean, you can try to something nefarious with such tools... but one could say the same about a generic server, SAN, application, etc as well. People are just used to understanding what those would typically be used for so they don't assume it must be for the scary thing they've heard about.

That said, it doesn't rule it out either. But again, the concern shouldn't be sourcing from their usage of normal infrastructure tools it should be sourcing from... well, all of the user analytics Google very publicly does directly in the server.


I was under the impression that the superspy stuff usually happens more at the undersea-cable terminal or at satellite links anyway.

It would certainly be easiest/cheapest to do it wherever the majority of the traffic already flows.

It's super common and very useful for security systems to work like this. Instead of putting something in-line that might choke on a burst of traffic you put it off to the side and send it a firehose of packets it may or may not be able to handle. If it falls over, no problem.

Common tools for any network engineer

Quick Duck search away: this power plant exports energy to Estonia where energy production is 4x less CO2 efficient. Literally exporting energy right now https://app.electricitymaps.com/map/live/fifteen_minutes

The question is how much they buy. It may not be enough to keep the plant running. Google will only buy up to 50% of what the plant can produce, but the deal allows the plant to operate beyond 2030 according to the operator.

Side note: Really nice dashboard.


> the deal allows the plant to operate beyond 2030 according to the operator.

That’s just PR spin. There is no way it would have shut down in 4 years, there has literally been no talk about doing so and all the political parties are okay with nuclear power as a means to combat co2.


That's what the author is doing, optimising their household budget to train neurons on new multimedia content.


>It's inevitable that someone will carelessly give it a lazily specified task, even if you think they really ought to be more careful.

https://en.wikipedia.org/wiki/The_Monkey%27s_Paw


And Plasma Spectacle does it too


> Morelock posted a $10,000 bond and was released from custody shortly after his arrest.

> A Clermont County grand jury, however, opted not to indict Morelock, and the charges were dismissed.

Is he getting the bond back?


Short answer - yes. If you post bond, and you don't violate the terms of your bond, you get your bond back when your case is resolved, whether you were found guilty or not guilty.

If you do something that violates the terms of your bond, the prosecution can file a motion alleging a violation, at which point the defendedant can admit to the violation or deny and request a hearing. Then there's an evidentiary hearing, basically a mini-trial, where the judge hears evidence and determines if there was a violation. If that happens, the consequences can depend. You can forfeit your bond, your bond can be raised, new bond conditions can be imposed, etc.

If you were given a cash bond and can't afford it, you can contract with a bail bondsman. That bail bondsman will pay the bail for you, and in some sense takes responsibility for you not violating your bond, in exchange for some fee (usually 10% of the bond amount). That amount is NOT refunded


If he paid it himself, then yes. If he used a Bail Bondsman, then the Bondsman will get the $10k back, but Morelock will be out the $1k (10%) cost that bondsman typically charge.


Shittily, in some states, bail bondsmen get a better deal than you, often not being required to actually put the full bond on deposit with the Court (sometimes only 30%).


I mean, it makes sense since the bail bondsmen have business licenses and likely some form of insurance and credentialing with the courts to cover the differences. All the court really cares about is if someone is liable/responsible/trustworthy.


It's also a form of regulatory capture - your options are "come up with (for example) $10,000 bond, cash, to give the court", or "irrevocably give this person $1,000 cash, who in turn only has to give the court $3,000". And not for nothing, its not an industry with a sterling reputation. Indeed, the ABA, the ACLU, and even the National District Attorney's Association are against the industry.

Multiple states have no insurance requirements for either the writing of the bond, or the recovery of a fugitive, and more states beyond that have no credentialing or training or licensing requirements for recovery agents.


I guess it's a question if whether you miss bail of the bail bondsmen can recover 100% of the bail despite having only lost 30% of it. I bet I can guess which it is.


Would the bondsman only lose 30%? From this discussion, they only have to post 30%, but the other 70% could become due when the terms of release are not met.

That's still a better deal for the bondsman, but it's also reasonable. If you don't show up for court, it doesn't seem likely that you'll show up to deposit the other 70%... But if you don't show up for court, the bondsman probably hasn't left, and they will be available to pay the rest of the bail amount.


So per AI, generally, the bondsman is responsible to the court for the full 100%. However, they are also given, depending on the state, between 30 days and 2 years to find you and bring you before the court before the court will collect on that surety, which is another inequity.

Of course, most bond contracts say that the bondsman can begin civil recovery against you for that full amount too.



Java has a mechanism for Integer and Long objects caching using something that already looks like value object, cached objects can be compared using ==. hashCode of Integer already returns int, the boxed int value. Not much of value is lost.


Of particular note, all 1-byte Integers are interned, there is a pool of small Integers from -127 <-> 127 which are reused whenever possible.

I learned this the hard way, when a C++ JNI extension I was working on accidentally overwrote the pooled value for zero, and all hell broke loose...


> Integers from -127 <-> 127

The cache can be extended on startup with env var `java.lang.Integer.IntegerCache.high `

https://github.com/openjdk/jdk/blob/cc278dbb8a1ca0754d584270...


That is a nice piece piece of knowledge! We have an Integer cache in our product, and the only reason that it hangs around is that it caches 0..1024 instead of -127..128. By setting this value, we could simplify our code, ever so slightly.


Yeah - it's a bit non-intuitive you can change the value of a number.

https://thedailywtf.com/articles/Disgruntled-Bomb-Java-Editi...


Such hacks will slowly stop working (without explicitly allowing it from the command line.)

In this example, it would throw an IllegalAccessException, because java.base doesn't open java.lang.


Doesn’t field.setAccessible(true) already throw on a modern version?


Exactly.

You can make it not throw by adding `--add-opens java.base/java.lang=ALL-UNNAMED` or similar to the command line, but breaking things like this is becoming harder.


In Python 2 you could literally do

    True = False
and of course in JavaScript

    undefined = "a string"


The terrifying part of this in Java, is that it applies program-wide, including to constants set before you changed the value


It's competition is M5 Ultra, not cheap.


Rumored M5 ultra bandwidth is apparently 1100 GB/S (M3 Ultra is something like 880). This is 276 GB/S so they’re not really in the same league unfortunately. This will be considerably cheaper though.


I have a feeling the M5 ultra is going to stay in the realm of myth until RAM prices come back down to earth...


> and then sent to all its subscribers, things need to change

and then sell to all its subscribers, things need to change.

Fixed that for you.

Imagine being able to pay a fraction of your savings to download all Netflix shows and then sell 1 minute chunk of every media to your paid subscribers.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: