Internet Explorer 9

March 18, 2010

A developer preview for IE9 is finally out, scoring 55 on the ACID3 test. It’s the engine only, no UI changes, and plenty of missing UI (for example the back button). No security features either.

You can get it here.

Process Accounting

March 17, 2010

Process accounting records which commands were executed by which users at what time. It’s an essential addition to any Linux box in use by more than one user, and after my current logging “solution” (.bash_history) failed me (a user deleted his after walling /dev/urandom), I decided to enable it. Here’s how to do so on Debian systems:

sudo aptitude install acct

That’s it. Just one package. No reconfiguration or recompiling of anything. Using it:

504> sudo lastcomm somebody
sh               S     somebody ??         0.00 secs Tue Mar 16 17:00
znc                    somebody ??         0.00 secs Tue Mar 16 17:00
sh               S     somebody ??         0.00 secs Tue Mar 16 16:50
znc                    somebody ??         0.00 secs Tue Mar 16 16:50
sh               S     somebody ??         0.00 secs Tue Mar 16 16:40
znc                    somebody ??         0.00 secs Tue Mar 16 16:40

From this data, I can see that user somebody (yes, he’s a real user, and that is his username) has a cron job that runs every ten minutes, executing a shell script which starts znc.

What if I want to see who used wall recently? Easy.

508> sudo lastcomm | grep wall
wall                 X fahad    stdin      0.00 secs Tue Mar 16 17:16

From this data, it can be inferred that fahad (that’s me, by the way) ran wall, and closed it at 17:16. The X signifies that it was terminated with a SIGTERM (Ctrl+C).

Logs kept by process accounting are superior to .bash_history logs by far, because they are kept by the kernel in a location the user cannot write to. There is no escape. Do note, however, that users with root access can edit these logs, or, worst case scenario, simply delete them.

Internet Protocol over Avian Carriers

March 16, 2010

My first non-helloworld post! How exciting! Anyways…

We all know RFC 1149, the April Fool’s RFC detailing how Internet Protocol datagrams can be transmitted over avian carriers (such as homing pidgeons).

I feel it is a bad standard, because it defines layer 1 aspects of the protocol.

The scroll of paper is wrapped around one leg of the avian carrier.
A band of duct tape is used to secure the datagram's edges.

X over Y standards typically require pre-existing X and Y. Let’s use Ethernet as an example. IPoAC’s Ethernet counterpart is A Standard for the Transmission of IP Datagrams over Ethernet Networks (RFC 894). While this standard does reference some aspects of Ethernet, such as MTU, they are only the parts that affect the encapsulated data. Things like cable voltages are not defined; those are left to the Ethernet standard.

I do understand that writing standards involves work, and they only wanted to write one. This could have been an Avian Carrier Networking standard, which requires that higher protocol data is printed in hexadecimal and attached.

It’s quite a humorous exercise to brainstorm ways of making an Avian Carrier Networking standard that is similar to other layer 1 networking standards.  For example, there could be provisions for unique hardware addressing (DNA), and broadcasting (manned pigeon congregation points). Something like ARP could then be implemented by sending a pigeon to the broadcast point. It would then have affixed to it the DNA of the pigeon holding the requested IP.

Locating pigeons by DNA is left as an exercise to the reader. Be creative! I’ll be reading comments.

My first post

March 15, 2010

This is my new blog, where I will dump all my (mostly technical) disconnected neuron activity. I hope to have one post per day, and have already written and queued some.