Could you elaborate on the “tricks” you refer to? I feel it’ll be very useful.
HN user
dronemallone
n-gate.com is a nice change from hn.
That's true, pretty easy to do once you look in the "net" or "inet" or "netinet" folders and then look for ipv4.
Thanks. Not really, I just look at the IPv4 implementation, it's easily to search for csum or chksum or checksum in codebases.
Why not use the routines from the Linux kernel, which are battle tested?
https://elixir.bootlin.com/linux/latest/source/arch/x86/incl...
Or even NetBSD: http://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/sys/net/...
EDIT:
freebsd: https://github.com/freebsd/freebsd/blob/master/sys/netinet/i...
openbsd: https://github.com/openbsd/src/blob/master/sys/netinet/in4_c...
Not to mention standing in long queues OUTSIDE the consulate, sometimes for several hours.
https://www.thehindu.com/news/national/tamil-nadu/new-queue-...
Agreed. Those topics are very specific instances of general principles that are usually taught in a security course.
What did OP mean by "secure client/server architecture" though? What are the basic/fundamental principles behind it, that are NOT covered in cybersec education?
welcome to hacker news!
> there are plenty of countries in the world
citation please? Do they take it down because you don't have a license to transmit in that spectrum band?
By this logic, all stock traders should be considered employees of the stock exchange they use. Uber is just like a stock exchange - a match making service.
* Traders/riders on a transaction/ride pay the exchange/Uber for this service.
* Traders/riders are free to trade/ride as much they want to, at any hour of the day, provided there's enough liquidity in the market (surge pricing etc.)
* If a trader doesn't cut a profit on a trade, it's the trader's problem not the exchange's
* If an Uber driver doesn't drive enough to earn a living wage, it's the driver's problem not Uber's.
Security Engineering is free on the author's website :) http://www.cl.cam.ac.uk/~rja14/book.html
What's the guarantee that someone else didn't send the texts from her phone?
BGP is a policy-based routing protocol, whereas OSPF/RIP are performance based. BGP is not "the" routing protocol, just that it's widely used because of its simplicity.
You should consider reading Kurose/Ross: http://eclass.uth.gr/eclass/modules/document/file.php/INFS13...
This article is missing quite a few things that's of interest to programmers:
1. IPv4 fragmentation & reassembly
2. Centralized (Dijkstra/OSPF) vs. Distributed routing (distance vector/RIP) - stuff you see in Algorithms class
3. TCP mechanisms: congestion control mechanisms that the user can configure (Cubic/westwood/new reno), flow control, retransmission timer calculation (exponential weighted moving average)
4. explicit congestion notification and other add-ons, which can be enabled in the OS by the user
5. Active Queue Management and enabling QoS on your system: stochastic fair queueing for example
6. the recently introduced TCP Fast Open mechanism
7. TCP auto tuning: http://kb.pert.geant.net/PERTKB/TCPBufferAutoTuning
8. Ethernet physical layer: you've left out modulation, and only discussed encoding
9. Multicast and spanning tree protocols
Related :) - http://colinm.org/language_checklist.html
That "facility" is the Curry-Howard correspondence!
I did not mention compilers in my comment. Do you mean that if I use LLVM compile a C program then I get the same assurances as when I compile a Rust program?
Let's say you are using LLVM to compile a Rust program, and an "equivalent" C program. You can compile both of them down to IR, and then enforce type safety at the IR level. Doesn't that ensure that you can prove properties about the program at compile time?
You could use LLVM to compile any language to LLVM IR, and then to machine code using a backend. Does that mean every language has the same properties as Rust?
If Node/Java/Go use GC (or VMs), then aren't they more safe than Rust?
So why does C, for example, lack Rust's memory safety semantics? Is it something to do with the design of the language itself? Can Rust predict user input, whereas C cannot?
So isn't the memory model more to do with the compiler or operating system rather than the programming language? Do think it's possible to write a C compiler that checks for use after free, double free, buffer overflows, index out-of-bound issues, etc.?
Surely if one programming language can do it, another can?
Could you please explain why and how the Rust compiler is better than compilers for other languages? After all, every language compiles down to machine code/assembly. So, the reason that one language is "better" than the other has to do with the fact that the compiler for one language is "better" than another.
Is there a reason why all the above software cannot perform as "fast" or "safe" as Rust when written in other programming languages? After all, every program compiles down to machine code/assembly.
What do TCP/IP headers (SEQ/ACK/RecvWindow/src port/dst port/packet length/checksum/morefrags flag etc.) have to do with HTTP headers??????
fuck 2016.
You can do it (by that I mean NOW) with DHCP-PD (prefix delegation). Router asks for a range of addresses from the ISP which it then assigns to the IoT devices on the inside.
Does anyone here know the actual technical details of the attack? How exactly did the DDoS occur? Just a ton of bots making DNS requests over UDP??
Links to articles with tech details would be greatly appreciated.
it's such a letdown when one realizes that universities are not this ideal utopia where everyone's a straight talker, where there is zero politics, where the people care about research and not the money it brings etc.
Must have been depressing for this guy to realize that universities nowadays are just massive hedge funds that sponsor football programs that are bigger than computer science departments.
multiple NSF grants and multiple papers in top conferences - his research IS good, innovative and interesting. Also, a majority of the external letter writers had positive things to say.
Something I've never understood: what's the deal with all these newfangled programming languages? Are they somehow better at being translated to assembly? Every program eventually becomes a bunch of instructions anyway...