Archives

  • reptyr: Changing a process’s controlling terminal

    reptyr (announced recently on this blog) takes a process that is currently running in one terminal, and transplants it to a new terminal. reptyr comes from a proud family of similar hacks, and works in the same basic way: We use ptrace(2) to attach to a target process and force it to execute code of [...]

    Feb 8th, 2011 | Filed under linux
  • Why scons is cool

    I’ve recently started playing with scons a little for some small personal projects. It’s not perfect, but I’ve rapidly come to the conclusion that it’s a probably far better choice than make in many cases. The main exceptions would be cases where you need to integrate into legacy build systems, or if asking or expecting [...]

    Nov 7th, 2010 | Filed under Software Engineering
    Tags: , , , ,
  • Followup to “A Very Subtle Bug”

    After my previous post got posted to reddit, there was a bunch of interesting discussion there about some details I’d handwaved over. This is a quick followup on some the investigation that various people carried out, and the conclusions they reached. In the reddit thread, lacos/lbzip2 objected that in his experiments, he didn’t see tar [...]

    Mar 3rd, 2010 | Filed under linux
  • A Very Subtle Bug

    6.033, MIT’s class on computer systems, has as one of its catchphrases, “Complex systems fail for complex reasons”. As a class about designing and building complex systems, it’s a reminder that failure modes are subtle and often involve strange interactions between multiple parts of a system. In my own experience, I’ve concluded that they’re often [...]

    Feb 27th, 2010 | Filed under linux
  • Versioning dotfiles in git

    I’ve been looking for a good solution for versioning and synchronizing my dotfiles between machines for some time. I experimented with keeping all of ~ in subversion for a while, but it never worked out well for me. I’ve finally settled on a solution that I like using git, and so this is a writeup [...]

    Feb 14th, 2010 | Filed under git
    Tags: , ,
  • A Brief Introduction to termios: Signaling and Job Control

    (This is part three of a multi-part introduction to termios and terminal emulation on UNIX. Read part 1 or part 2 if you’re new here) For my final entry on termios, I will be looking at job control in the shell (i.e. backgrounding and foreground jobs) and the very closely related topic of signal generation [...]

    Jan 11th, 2010 | Filed under linux, Uncategorized
  • A Brief Introduction to termios: termios(3) and stty

    (This is part two of a multi-part introduction to termios and terminal emulation on UNIX. Read part 1 if you’re new here) In this entry, we’ll look at the interfaces that are used to control the behavior of the “termios” box sitting between the master and slave pty. The behaviors I described last time are [...]

    Dec 30th, 2009 | Filed under linux, Uncategorized
    Tags: , , ,
  • A Brief Introduction to termios

    If you’re a regular user of the terminal on a UNIX system, there are probably a large number of behaviors you take mostly for granted without really thinking about them. If you press ^C or ^Z it kills or stops the foreground program — unless it’s something like emacs or vim, in which case it [...]

    Dec 22nd, 2009 | Filed under linux, Uncategorized
    Tags: , ,
Posts Tagged ‘unix’