Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dfawcus
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
15 ms
·
151.
▲
by
dfawcus
2y ago
It doesn't even need to be a modern language to protect against that: BEGIN INT x := 1; print(("x is", x, newline)); GOTO later; INT y := 2; later: print(("y is", y, newline)) END
152.
▲
by
dfawcus
2y ago
That is why many of us keep repeating that NAT is not a security mechanism. Punching through NAT, and most associated state tracking filters, is very easy. I've implemented such in a production corp environment, as a product to be sold
153.
▲
by
dfawcus
2y ago
The existence of stateful firewalls, and the fact that most NAT filters are EDF rather than EIF means that simultaneous open (send) is necessary even for UDP. Hence the added complexity of doing a simultaneous open via TCP is fairly minor.
154.
▲
by
dfawcus
2y ago
(2020) Previous discussion: (2022) https://news.ycombinator.com/item?id=30707711 (2020) https://news.ycombinator.com/item?id=24241105
155.
▲
by
dfawcus
2y ago
and has land borders with two (Ireland, France).
156.
▲
by
dfawcus
2y ago
That was always one of the issues with EU, and EEC before it, membership in the UK. There was no education as to the change in constitutional status, nor explanation of how the EEC (then EU) actually worked. Most folks still had the view t
157.
▲
by
dfawcus
2y ago
Actually, even before then. The Qualified Majority Vote has been being used in increasing scope of policy areas for many years. QMV was part of stuff from the 1986 SEA, and got a major boost in the 1992 Maastricht Treaty, since it was recog
158.
▲
by
dfawcus
2y ago
It is not just down to Commission interpretation. It has been a while since I last looked at this, but from memory a pre-condition for Euro adoption is spending a certain amount of time within some formal "convergence mechanism",
159.
▲
by
dfawcus
2y ago
Where does "here" mean. In the UK only "central" England and south transmits data over the mobile network. In northern England and Scotland, the data is transmitted over UHF radio.
160.
▲
by
dfawcus
2y ago
Because they're designed for demand side load shedding. Also to enable "surge pricing" such that folks ration of disconnect themselves, rather than pay the surge price. Other than that, they don't really have a benefit f
161.
▲
by
dfawcus
2y ago
Yeah, but that is pretty much an irrelevance here in the UK. We don't even get that much sun in summer, today sunrise was at 0842, sunset at 1540 - so not even 7 hrs of daylight. Even then it was a very dull day. So in the period (win
162.
▲
by
dfawcus
2y ago
Historically quarterly. Some of us still do pay on that schedule.
163.
▲
by
dfawcus
2y ago
> killed the infant BSD4.4-Lite on 386 Nope. OS/2 was a single user, protected mode OS. Those of us who wanted a desktop unix wanted in part because it was a unix, but in part because it was also a multi-user system. So the folks
164.
▲
by
dfawcus
2y ago
Despite working in the industry, I always found the "cone" terms for NAT confusing, and difficult to remember. So once the BEHAVE terms came out, I adopted them, as they were (at least to me) more obvious. They're also more
165.
▲
by
dfawcus
2y ago
There were many available in that timescale. QNX DR Concurrent CPM which became Concurrent DOS DR FlexOS PC-MOS I seem to recall seeing a few others advertised in magazines at the time. As to DESQview, it had DESQview/X as an addition.
166.
▲
by
dfawcus
2y ago
Go and find the academic survey papers of NAT behaviours. They list what I stated, the common case is EIM+EIF. However, continue with your belief...
167.
▲
by
dfawcus
2y ago
Nope, the hole created in the NAT is generally endpoint independent. It does not matter what the target is, anyone can now send packets to that mapping. i.e. assume 192.168.0.1:4567 sends a packet to 12.13.14.15:25, creating a mapping, and
168.
▲
by
dfawcus
2y ago
The nature of an EIM/EIF NAT is that the hole exists without punching, as soon as the device behind the NAT connects to anywhere public. That action creates a public side mapping on the NAT, being Proto/IP/Port - Proto genera
169.
▲
by
dfawcus
2y ago
I am assuming attacks against a home/retail NAT box, where the full 5-tuple is not required, only the 3-tuple being translated to on the public side of that NAT box. That being the endpoint independent mapping. All an attacker needs t
170.
▲
by
dfawcus
2y ago
Having implemented a commercial hole punching mechanism, and having tested it on home and commercial deployments (various UK and USA ISPs), I have to agree. For most deployments (home and commercial) the NAT function (its session table) emp
171.
▲
by
dfawcus
2y ago
I believe what he wants, is the usual C trick of defining a struct which represents the wire format (with all the usual caveats). Then cast a char pointer to be an instance of a pointer to that struct. Sort of like this: https:/
172.
▲
by
dfawcus
2y ago
C -> Alef -> Limbo -> Go ? With influences from other languages along the way.
173.
▲
by
dfawcus
2y ago
How low level a networking use do you desire? I certainly managed to use it to implement a protocol over UDP without any issues, that having byte and bit packed values. Or do you wish to have something similar to C with structs and (endian
174.
▲
by
dfawcus
2y ago
> I agree that Go should really have an analogue to Rust's `?`, but you can't really do that in a sane way without sum types to represent your conditions. The very multiple-return style error propagation makes it impractical to
175.
▲
by
dfawcus
2y ago
Alef actually has/had real tuples, as does Limbo. Looking at Alef, apart from using tuples to provide multiple return values in a C-like language, they don't seem to actually add much functionality over what Go has without them.
176.
▲
by
dfawcus
2y ago
On point [3], using the Shane's code, and with an additional one for gccgo, on my laptop I see: $ go-11 test -cpu=1,2,4,8,16 -bench Cgo goos: linux goarch: amd64 pkg: github.com/shanemhansen/cgobench cpu
177.
▲
by
dfawcus
2y ago
One could always arrange for the SSH server to start its announce as follows: 554 server.local Mail server not ready SSH-2.0- and see how probers react, especially if one has the server listening on port 25, or even port 587
178.
▲
by
dfawcus
2y ago
One can sort of get a non reference capture, by passing the same name as a argument; but yes it would be nice if one could somehow say capture by value. foo := 1 closure := func(foo int) func() int { return func() int { return foo
179.
▲
by
dfawcus
2y ago
As I recall, it was something like: INT x; x := IF y < 1 THEN 1 ELSE 2 FI; Possibly one could also place various statements inside the THEN and ELSE sections, as long as they ended with an expression. I've a vague impr
180.
▲
by
dfawcus
2y ago
Actually, I used Algol 68 at uni, while reading EE. That was due to the lecturer tasked with giving us some computing instruction choosing that language. This would have been in around 87 or 88. I actually quite liked it, finding it easy
More ›