Sibling tail call optimization in Python
Published:
In Tail Recursion In Python, Chris Penner implements (self) tail-call optimization (TCO) in Python using a function decorator. Here I am extending the approach for sibling calls.
Published:
In Tail Recursion In Python, Chris Penner implements (self) tail-call optimization (TCO) in Python using a function decorator. Here I am extending the approach for sibling calls.
Using SSH as a transport for your protocol
Published:
A comparison of the different solutions for using SSH2 as a secured transport for protocols/services/applications.
Published:
Live sharing a terminal session to another (shared) host over SSH in read-only mode.
Published:
While looking at the OpenSSH ssh_config manpage, I found the ProxyUseFdpass configuration I did not know about. It is apparently not widely known or used.
Published:
This is an overview of some recent additions to the SimGrid code related to actor synchronization. It might be interesting for people using SimGrid, working on SimGrid or for people interested in generic C++ code for synchronization or asynchronicity.
Published:
There has been some articles lately about Intel Active Management Technology (AMT) and its impact on security, trust, privacy and free-software. AMT supposed to be widely deployed in newest Intel hardware. So I wanted to see if I could find some AMT devices in the wild.
Published:
FlameGraph is used to display stack trace samples but we can ue it for other purposes as well.
Published:
A simple way to create IP over UDP tunnels using socat.
Published:
In a previous post, I tried different solutions for tunnelling DNS over TLS. One of those solutions was using a dedicated DNS-over-UDP fake service replying to all queries with the truncate flag set: this was causing the stub resolvers to retry the query using a TCP-based virtual-circuit. This solution is interesting because it is dead simple (it fits in a few line of codes) but it is clearly a hack. Here, I am using a dedicated DNS forwarder aggregating all the incoming DNS-over-UDP requests over a single persistent TCP virtual-circuit.
Published:
RR is a very useful tool for debugging. It can record the execution of a program and then replay the exact same execution at will inside a debugger. One very useful extra power available since 4.0 is the support for efficient reverse execution which can be used to find the root cause of a bug in your program by rewinding time. In this example, we reverse-execute a program from a case of use-after-free in order to find where the block of memory was freed.
Page 9 of 13 | Previous page | Next page | JSON Feed | Atom Feed | RSS Feed