2008-03-07

Single UNIX Specification Firefox search plugin

While poking around on the Single UNIX Specification web site, I noticed a link to a Firefox Search Plugin.

With this plugin installed, you can search for keywords in the SUS directly from Firefox. Very cool.

posted at 17:25 | path:/computer | permanent link

2008-02-03

Emacs can do that

As an emacs user, I knew the butterfly command. I just don’t find it that useful.

posted at 19:31 | path:/computer/programming | permanent link

2007-12-06

Delta chains and packs

In a discussion on creating a git repo for the gcc code base, Linus describes how git uses delta chains and how they relate to packing.

In the same discussion Linus has additional low level explanation.

posted at 18:45 | path:/computer/scm/git | permanent link

2007-10-26

Now with RSS 2.0

With help from Andrew Cowie’s blog post Getting Blosxom to work… my blog now has a functional RSS 2.0 feed.

posted at 02:21 | path:/computer/web/blosxom | permanent link

Validate your RSS and Atom feeds

If you have a feed for your blog, make sure it is valid by using FEED Validator.

Check the validity of my RSS 0.91 and RSS 2.0 feeds.

posted at 00:39 | path:/computer/web | permanent link

2007-10-23

Git Cheat Sheet

Zach Rusin has created a very easy on the eyes git cheat sheet. This is very useful if you use some git commands only once in a blue moon.

posted at 16:23 | path:/computer/scm/git | permanent link

2007-08-17

Why volatile is practically useless

In the C/C++ programming language, data can be given the volatile qualifier. Typically, people think this is sufficient to prevent code ordering problems. Well, volatile does not do that.

Linus provided a great explanation of the problem on the lkml today. Definitely worth reading. Also, you should read Linux Kernel Memory Barriers from the kernel documentation.

Update 2007-10-14: Also check out the LWN article The Trouble with Volatile.

posted at 15:47 | path:/computer/programming | permanent link

2007-08-01

x86info Fixes Merged

Dave Jones got some spare time and merged in my first 3 x86info fix up patches:

There are a couple more patches I need to send Dave now that the first set have been merged.

posted at 04:00 | path:/computer/linux | permanent link

2007-07-22

Changing the Firmware project to use genext2fs instead of UML

At OLS2007 I went to Rob Landley’s Cross Compiling Linux tutorial where Rob introduced his Firmware Linux project. Unfortunately we ran out of time and didn’t actually get to using the cross-compiler.

Rob’s approach to cross-compiling packages is to build a native environment (using qemu) so that you don’t actually have to cross-compile packages. Cool idea!

Anyway, to build the root file system that qemu will use, Rob used UML (User Mode Linux) to step around the root privileges required for mounting the loop device. I had trouble getting UML going on my laptop so I wrote a patch that evening to use genext2fs to create the root file system. Just to show how slow I am at following through, I finally sent the patch to the mail list. We’ll have to wait and see if Rob likes it.

posted at 04:00 | path:/computer/linux | permanent link

2007-02-06

How to turn your neighbours off using your WiFi

Even though this is not really a security issue, be aware that if you leech WiFi access from somebody, the access point owner can control the data stream you get (and send!).

Upside-Down-Ternet is a funny example of what one guy did to his leeching neighbours.

posted at 05:00 | path:/computer/security | permanent link

2007-01-23

Keeping Kernel Config User Friendly

There have been some netfilter changes that have caused a lot of confusion when it comes to configuring the kernel. The new netfilter implementation accompanied a bunch of netfilter kernel configuration name changes.

Linus was not amused and then pointed out how the netfilter Kconfig could have been implementation to avoid any issues.

posted at 04:02 | path:/computer/linux | permanent link

2006-11-21

Aliasing and pointer casts

If you’ve heard of pointer aliasing but have not fully understood what it means, read this great explanation by Krister.

posted at 19:52 | path:/computer/programming | permanent link

How To Compile A Kernel - The Fedora Way

A nice HOWTO on compiling a kernel for a Fedora system.

posted at 19:46 | path:/computer/linux | permanent link

2006-11-01

CPUID specifications

posted at 05:00 | path:/computer/programming | permanent link

2006-10-18

Backing up a Unix(-like) system

Getting into a regular backup routine is starting to become a priority for me. So finding an article covering backup issues is timely.

The article’s author recommends dar as the backup software.

posted at 13:43 | path:/computer | permanent link

2006-09-07

Using Git through a firewall

I finally ran into a firewall issue in that I could not gain access to a git repository that was only available using the git protocol.

I knew how to setup OpenSSH to be a SOCKS proxy, so I needed a way to get git to use a SOCKS proxy.

Works great!

posted at 19:16 | path:/computer/scm/git | permanent link

2006-08-31

Writing a Simple File System

While I was at OLS this year, I attended the Writing a Linux Filesystem tutorial presented by Steve French.

During the tutorial Steve provided an excellent reference to the Writing a Simple File System paper. The paper has 2 extremely useful diagrams that depict the relationships of the VFS objects and the system call mapping to data structures.

posted at 20:13 | path:/computer/linux | permanent link

2006-08-30

Hex Words

When you are programming it is often convenient to have 32-bit values that, when displayed in hex (base-16), spell words (e.g, 0xdeadbeef). These values are useful for signifying specific conditions either within a program’s resident memory or in persistent storage.

I found a cool list of words that were pragmatically generated and expanded to include l337 spellings.

posted at 04:00 | path:/computer/programming | permanent link

2006-08-18

No defragging required here. Move along please.

I came across an easy-to-understand explanation why linux does not need defragmenting.

posted at 19:23 | path:/computer/linux | permanent link

2006-06-30

Getting a feel for how Git’s Index works

Linux Magazine has an excellent article, Embracing the Git Index, that demonstrates how git’s index is used.

posted at 16:49 | path:/computer/scm/git | permanent link

2006-06-28

Cracking WEP

If you still are under the illusion that WEP is a safe way to secure your wireless access point, think again. Read how the FBI demonstrated cracking WEP in 3 minutes.

posted at 14:34 | path:/computer/security | permanent link

2006-06-21

Debugging Memory Bugs

Ulrich Drepper has a blog entry about using the environment variable MALLOC_PERTURB_ to aid in the detection of typical memory usage bugs in programs.

Using this debugging feature is as simple as setting the environment variable and running the program you want to test. No recompiling required. Sweet!

posted at 04:00 | path:/computer/programming | permanent link

2006-06-20

The Google Proxy

Mark Wieczorek documents his discovery of a Google Proxy. If you are accessing the web from a slow connection this could be an invaluable tool. Check it out.

posted at 15:05 | path:/computer/web | permanent link

2006-05-16

Installing FC5 via network connection

Don’t want to burn ISOs for the new Fedora Core 5? And then to wait for several hundred megabytes of updates for each machine you install to?

Check out Updated FC5 Network Install which will show you how to setup a Yum repo so that all your installs use an updated image of all the OS RPMs.

posted at 04:00 | path:/computer/linux | permanent link

2006-05-15

Cracking a 137 year old Confederate Code

Every kid goes through a stage where secret codes and invisible ink are exciting. Eventually though, you find that what you need to say to your buddies is not really top secret and the effort to encode your “Let’s go play hockey” message is impractical.

I still find cryptography interesting and the article How I Broke The Confederate Code (137 Years Too Late) is very cool.

posted at 04:00 | path:/computer/security | permanent link

2006-05-10

Using chkrootkit properly

When a computer is compromised one of the first things the intruder does is install a root-kit. The article How to scan your Linux-Distro for Root Kits is an excellent step-by-step HOWTO to detect if your systems have been kitted.

posted at 04:00 | path:/computer/security | permanent link

Tips for making Nautilus usable

The article Nine things you should know about Nautilus has some excellent tips for setting up Nautilus so that it is less annoying.

posted at 04:00 | path:/computer/linux | permanent link

2006-05-07

Getting my mouse’s side buttons to do something

I’ve been using a Microsoft IntelliMouse Explorer 3.0 USB mouse for several years, but have had trouble getting the 2 side buttons working with my browser. Until last night! A late night Google session and some tinkering brought the 2 side buttons to life.

Many people seem to have set the Buttons options (to a value of 7), but I have found that it is not needed. Below is the relevant section of my xorg.conf file (I am running Xorg X11 version 1.0.1 on Fedora Core 5 at the time of this writing):

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "ExplorerPS/2"
    Option      "Device" "/dev/input/mice"
    Option      "ZAxisMapping" "4 5"
    Option      "Emulate3Buttons" "no"
EndSection

With these settings, you can use the xev utility to verify the button number for all buttons and wheels on a mouse. For my mouse the rear side button is 8 and the side front button is 9. I thought this was strange since I can only count 7 distinct buttons on my mouse (I believe this is why everybody sets the Button option to 7). Anyway, xev never lies.

One more key to the puzzle: what button numbers does Firefox use for the Forward and Back functions? Turns out to be button 6 for Back and button 7 for Forward. Thanks Gentoo HOWTO.

Now for the final setting, we need to map mouse buttons 8 and 9 to buttons 6 and 7 respectively. This is where the xmodmap utility helps us out. Just add the following line to ~/.Xmodmap:

pointer = 1 2 3 4 5 8 9 6 7

This expression places buttons 8 and 9 in the location for buttons 6 and 7. The mystery buttons 6 and 7 are then mapped to buttons 8 and 9, though I don’t know how these button codes are generated from the mouse.

A restart of X (i.e., init 3 followed up with init 5) and xev now reports the side buttons as button 6 and button 7. A final test in Firefox shows that I now have side button control of Forward and Back.

Hope this helps somebody get their side buttons working.

posted at 04:00 | path:/computer | permanent link

2006-04-25

Using git to browse Linux Kernel code

kernel.org hosts gitweb that is an excellent interface for browsing kernel code changes changes.

You can even track the stable kernel queue.

posted at 01:40 | path:/computer/scm/git | permanent link

2006-04-24

Snapshot-Style Backups with Rsync

Took me a while to getting around to reading Easy Automated Snapshot-Style Backups with Linux and Rsync (I had plucked it but left it for a long time). Wow! I wish I had read this one long ago.

I had no idea rsync could pull off this kind of rolling backup. I really need to take the time to set up this kind of backup system (or any backup system for that matter ;)

posted at 04:00 | path:/computer | permanent link

2006-04-21

Setting SSH key Authentication

Just came across, Five-Minutes to a More Secure SSH. Covers the steps to setup SSH to use key-based authentication instead of using traditional passwords.

posted at 20:12 | path:/computer/security | permanent link

2006-04-12

Plucked git Documentation

If you have git and plucker installed, then you can easily create a Plucker version of the git documentation for you Palm.

    plucker-build --title="git" --doc-name="git" --doc-file="git" --stayonhost="" --maxdepth=10 file:///usr/share/doc/git-core-x.y.z/git.html

For the lazy among us, here is git.pdb.

posted at 01:34 | path:/computer/scm/git | permanent link

Blosxom Plugins

Thought I’d mention the plugins I am using with blosxom for this blog.

These are well documented on their respective sites and/or in the plugin file itself.

posted at 01:12 | path:/computer/web/blosxom | permanent link

2006-04-10

Checkout a tagged release

git supports applying tags to the HEAD, but is not so easy to check out a specific tag. See the LinuxMips wiki for a description of how to check out a tagged release.

posted at 04:00 | path:/computer/scm/git | permanent link

2006-03-06

Trying to “Get” git

Fedora Extras is keeping up to date with new releases of git so now I can take a stab at figuring out how git works.

On a Fedora system, start with /usr/share/doc/git-core-x.y.z/core-tutorial.html.

posted at 05:00 | path:/computer/scm/git | permanent link

2005-10-01

Possible Wallpapers

I am thinking about using graph wallpaper for my blog entries to make them look more notebook like.

posted at 01:37 | path:/computer/web/blosxom | permanent link

2005-09-01

Blosxom Setup in 10 Minutes

Came accros Start Your Own Workblog With Blosxom - 10 Minutes Or Less. A nice easy to follow set of instructions on getting blosxom up and running on your web server.

posted at 04:00 | path:/computer/web/blosxom | permanent link

2005-03-12

Official Blosxom Flavour Docs

The offical docs describing how to create a customized flavour.

posted at 02:48 | path:/computer/web/blosxom | permanent link

2005-03-11

Unofficial Blosxom User Group

While looking for blosxom flavours I came across the above mentioned group’s Blosxom Flavour and Theme Registry. I’ll give it a perusal.

posted at 05:09 | path:/computer/web/blosxom | permanent link