Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 41
  1. Peer review in the LLM (mania) age

    I am still dreaming that our society might wake up from the present LLM mania.

  2. Flat vs segmented memory -- it's recursive

    My recent forays in x86 segmentation (1 2) made me notice a trend in the evolution of x86: the decline of fine-grained memory protection, both across the move to 64-bit and indeed before that in the fast system calling features.

  3. In my last post I identified some approaches to system call instrumentation on x86-64 Linux that combine instruction punning with the memory-indirect call and (most eccentrically) lcall (“far call”) instructions.

  4. IFIP foray

    This is really a meta-level post... after attending two meetings as a visitor, most recently in Santiago, Chile, I was recently invited to join the IFIP working group on programming language design (2.16).

  5. Universities: is bigger better?

    In the news recently have been the plans for acquisition of Cranfield University by King's College London.

  6. My libsystrap library provides a simple instrumentation of system calls in Linux x86-64 userland.

  7. System call stack alignment

    [Quick new post... it's June and I'm emerging from my academic season, so hopefully lots of new content will appear here over the rest of the year.]

  8. Enabling monoglot programming

    “Polyglot programming” is a wrong metaphor.

  9. You can now crowdfund me!

  10. Reversing abstractions: an existential crisis

    Computer science in general, and language implementation in particular, are founded on the idea of realising abstractions in a way I'll call “forwards” and also “existential”.

  11. (It's not an art like “fine art”, or even like motorcycle maintenance.

  12. A brief recent conversation with some non-academic friends reminded me that promotion in the academic world is already strange.

  13. Software substrates: should there be only one?

    I apologise for the slightly provocative title... of course it depends on what “substrate” means.

  14. I've written before about a simple user-space approach to intercepting and modifying system calls, by turning system calls into SIGILL and then executing the perhaps-modified system call in the signal handler.

  15. Management hierarchy in academic research

    In 2020, Simon Peyton Jones gave an “Ask Me Anything” session at (virtual) PLDI, in which he made a throwaway remark something like this.

  16. Top of the slops

    The cartoonist Dick Guindon famously wrote as follows.

  17. Writing a preloadable malloc in Rust, using MMTk

    [Obligatory banner-esque note: between now and August-ish I'm prospecting for crowdfunding that might support my research and writing in the future, as I move to being only a part-time academic.

  18. Ross remembered

    [It's over a year since we lost Ross Anderson.

  19. A more punny self-remaking C program

    To follow on from my previous proof-of-concept and later musings, here's another form of self-remaking C program in one file.

  20. The mess I'm in

    [TL;DR: I'm starting to suspect my work is incompatible with holding a full-time academic job at a present-day university, at least in the UK.

  21. Is your CS department serious?

    I've found myself using “serious” as a mental shorthand for what I recognise as “things done right” in an academic department, which in my case means computer science (CS) departments.

  22. Self-rebuilding programs done slightly better

    Over on the development side of the blog, I recently wrote a throwaway hacky hash-bang recipe for making a single-file C source program executable and self-rebuilding.

  23. A tiny self-remaking C program

    In my last post I floated the idea of writing a slow, edit-prone shell script instead as a self-rebuilding C program.

  24. * really Suppose we want to interfere with how a vaguely Unix-style C compiler does its job, and that we want to try compiling existing software with this modified compiler.

  25. How to “make” a shell script

    This post is about the following strange program I wrote recently. dummy=; define () { true; } define dummy echo "Hello from shell; PATH is ${PATH}" return 0 2>/dev/null || exit 0 endef .PHONY: say-hello say-hello: @echo "Hello from make; makevar PATH

  26. A process by any other name

    On Linux, what is a process's name?

  27. About four years ago, when I had spent a year at the University of Kent in my first job as a lecturer (or “Assistant Professor” for North American-style readers), I had to fill in a probation review form.

  28. Interoperability: what's rich is still poor

    Is there good interoperability with C from C++?

  29. Understanding C99 inlines

    For a long time I struggled to remember the rules for using inline in C.

  30. How to do link-time symbol wrapping... as a plugin

    I wrote recently about the problems with link-time symbol wrapping using the --wrap option to GNU linkers and similar.

  31. How and why to do link-time symbol wrapping (or not?)

    It's sometimes useful to hook functions at link time.

  32. Anti-prosperity in the UK, part one

    (I thought about calling this “Never Mind the Bullshit Jobs”... but that would apply better to a future part.)

  33. De-escalating the submission backlog

    About two and a half years ago, I submitted a two-page abstract entitled “De-escalating software: counterproductivity versus conviviality” to the conference on History and Philosophy of Computation (HaPoC), proposing a talk the philosophy of Ivan Illich i…

  34. I was recently successful in my first non-trivial grant application, for a New Investigator Award from EPSRC.

  35. ELF dynamic linking: a brief introduction

    [I wrote this to help current or future students who might want to do projects involving dynamic linking.

  36. Tracing system calls in-process, using a chain loader

    Some months back I wrote about a possible better alternative to LD_PRELOAD using chain loading.

  37. No more Dr Nice Guy

    [I wrote this back in April, at a point when my time at Kent was drawing to a close and the overload factor had been high for a long time.

  38. Role again

    Sorry for the pun.

  39. In early 2018 I was at a crossroads in my career: academia, industrial research, or somehow go it alone?

  40. Suppose you want to run a pre-existing binary program but in some kind of instrumented or modified form.

  41. I recently ran into a nasty problem, arguably a bug, in GCC.