This might seem like a strange question, but what would you use for creating the typical hollywood hacking scene?

I got this request from a friend and my brain was blank. All I could think of was all the nmap scenes from movies like The Matrix and so on.

But this would need to be done on a Mac with default OSX, which I think is some flavour of *nix, right? They have no internet access so preparing with external tools is out of the question.

I was thinking along the lines of writing the equivalent of /var/log/messages to screen maybe...

  • 21
    Take any package, and do a ./configure && make – Alex B Sep 24 '11 at 10:30
  • I think Alex is right. Test some different packages as you probably don't want something that compiles for several minutes – johnny Sep 24 '11 at 12:45
  • 8
    Have a HUGE banner saying "DECODING" and then twelve slot-machine style reels below it with various characters spinning round and stopping one at a time, leaving you with a lowercase dictionary word. – DanBeale Sep 25 '11 at 20:28
  • 2
    Install (if possible) FSN or FSV. "It's a Unix system. I know this!" – DanBeale Sep 25 '11 at 20:31
  • If nobody ever suggested, you can try running cmatrix in a terminal window. – bollovan Sep 28 '11 at 18:34

If you're asking how to print one character to the screen at a time (a commonly shown 'hacker' style in Hollywood movies), the following script should suffice (it takes input from stdin).

In bash:


while IFS= read -r line; do
    for (( offset = 0 ; offset < length ; offset++ )); do
        printf '%s' "$char"
        if (( bol )) && [[ "$char" == " " ]]; then
        sleep 0.05

    if (( length == 0 )); then
        sleep 0.$(( RANDOM % 3 + 2 ))
        sleep 0.$(( RANDOM % 7 + 3 ))

    printf '\n'

Or, a simpler version in C:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(void) {
    char buf[1];
    int len;

    while ((len = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
        if (write(STDOUT_FILENO, buf, len) != len) {
            return EXIT_FAILURE;
    if (len != 0) {
        return EXIT_FAILURE;
    return EXIT_SUCCESS;

If you wanted to use dmesg as input, for example:

dmesg | hollywood
  • 2
    Adding some $RANDOM delays in the timings might be fun too :-) – Stéphane Gimenez Sep 24 '11 at 16:17
  • 1
    Adding modem line noise would be even better. This may become the most edited post on UL. – Tim Post Sep 24 '11 at 16:44
  • 1
    No idea what Tim means by line noise, but I would implement it as changing the first printf to printf '\b%s%c' "${_line:_offset:1}" $RANDOM and adding printf '\b \b' before the second sleep. – manatwork Sep 25 '11 at 11:51
  • 1
    HAHAHAH I just ran this with dmesg and freaking laughed! Please keep updating this, it is epic. – n0pe Sep 27 '11 at 12:06
  • 2
    This is halarious. Definitely a winner for "hacky" output... – rmckenzie Sep 27 '11 at 18:03
export GREP_COLOR='1;32'; cat /dev/urandom | hexdump -C | grep --color=auto "ca fe"

This (and other commands from http://www.commandlinefu.com/commands/view/6663/pretend-to-be-busy-in-office-to-enjoy-a-cup-of-coffee) also seems very ,,hackish'' and confuses most people that stare at the terminal at the given moment ;)

  • 6
    No need to export GREP_COLOR, and you don't need to use cat. Just use hexdump -C /dev/urandom | GREP_COLOR='1;32' grep --color=auto 'ca fe' – Chris Down Sep 26 '11 at 21:24
  • +1000 Now that's a great answer! – user13742 Feb 29 '12 at 23:33
  1. Use Compiz with things like Wall, Expose, partially transparent windows, etc.
  2. Use tcpdump on at least one screen.
  3. Use IRC and Irssi to talk to other "Hackers" on another screen.
  4. Compile a Kernel. you don't need to install it, just compile it, make the modules, then start over by cleaning compiled objects and restarting the compile. use GCC color to enhance the effect.
  5. Have OpenBSD boot up on one screen, you can use a VM for this, if you don't have a spare machine.
  6. Line-by-line print of dmesg.
  7. Open a few source code files in Gvim, and use the Cobald colorscheme or mine.
  8. Modify xscreensaver "phosphor" and start it in a window. It can print stuff character by character. I've used it a couple of times for visual effect.
  9. Use mplayer with aalib or cacalib. There is a matrix filter, but that might seem like a cheap ripoff.
  10. I suggest using zsh, with colored ls output (dircolor), as well as a nice shell.

How about this setup for a Hollywood hackish setup?

  • Don't use a windowmanager that looks like windows or mac, all of the others looks hackish since normal guy don't know what it is.
  • Select some really nerdy colours for the terminal like "amber on black" or "green on black".
  • Have the hexdump from random (like Wiesław Herr described) running in a window in the background.
  • Have something that looks like a log running in another window, maybe a tcpdump that is almost human readable.
  • etc etc

That should be a nice fake start.


I had to do that some month ago. I just fired "find /" and it was enough.


You can use

pv /var/log/messages -qL 100

Running man pv gives the following definitions for q and L flags.

-q, --quiet - No output. Useful if the -L option is being used on its own to just limit the transfer rate of a pipe.

-L RATE, --rate-limit RATE - Limit the transfer to a maximum of RATE bytes per second. A suffix of "k", "m", "g", or "t" can be added to denote kilobytes (*1024), megabytes, and so on.

the 100 is the number of bytes/second

P.S. great todler protector (Make sure you are not in Window mode ALT+CTRL+F2 works better that way)


  • Why are you using less at all? Just redirect the file into pv. – Chris Down Sep 24 '11 at 13:11
  • oops an oversite, Usually i use man rsync i moded it for the question. Fixing.. – whoami Sep 24 '11 at 13:15
  • Some googling suggests that pv isn't available by default on Mac (available through HomeBrew and Ports though). – Chris Down Sep 24 '11 at 13:22
  • It's not here on on my 10.6 installation... – serverhorror Sep 24 '11 at 17:08
  • Ive got it working on Ubuntu and Fedora, Ive never used macs so im not sure what the requirement for that be, but im sure you can make install it. Im not sure where one could download the package – whoami Sep 25 '11 at 13:22

This might seem like a strange question, but what would you use for creating the typical hollywood hacking scene?

Hollywood technodrama, should be enough inspiration for what you are looking for. It is available as a package for Linux, also on github, should be able to pick apart bits you like and package up something on OS X.

On a Debian/Ubuntu system you can install like so:

sudo apt-get install hollywood

Or if that doesn't work:

sudo apt-add-repository ppa:hollywood/ppa
sudo apt-get update
sudo apt-get install hollywood

from commandlinefu:

tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"


echo "You can simulate on-screen typing just like in the movies" | pv -qL 10


I understand that nmap is the standard hackish hollywood app, and here's a page from a guy who worked to make the Hollywood hacking on Tron more real.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.