Don’t locate

After installing Captive to read my NTFS partition, I noticed great periods of unexplained high CPU activity. I narrowed these down to mount.captive-ntfs and captive-sandbox-server processes. No files on my windows partition (mounted on /C) were being accessed to my knowledge. After scrolling through a process tree I realised that updatedb and find were running and that of all the filesystems and directories to ignore, Captive and the /C path were not in that list.Whilst it doesn’t explain why the CPU goes so high, I can guess that a find / on a 30Gig C Partition would take a lot of time, considering the files available and that each time a new file is opened a new instance of the captive-sandbox-server starts.

To have updatedb ignore the /C mount you can edit the file /etc/sysconfig/locate & add your directory to the variable UPDATEDB_PRUNEPATHS

Kon likes reading so much, he doesn’t get time to read

Here are some good software development links to various sources regarding a variety of different things:

My Favorite Java Developer interview questions – No, I’m not looking, but it would be useful to have in future.

4 Ways to Scare Off Good Devs – Just entertaining, what not to go for guide.

Getting Real – HOWTO: Build and market your own software and get a realistic million bucks in return. And a guide to a good project in general.

Mocks Aren’t Stubs – Everyone loves TDD

Menu’s menu’s everywhere, but nowhere to add them

I’ve been looking for a way to add non-package managed apps to the Gnome/KDE menus.

Recently, I installed Firefox 2, Eclipse and Jude this way but have found links telling me how to remove items from the application menu, no way to add them in.

Apparently some love between KDE and Gnome was reached in order to standardise the application menu and so it now resides in one place with all these .desktop files (aka shortcuts) to launch the desktop apps.

See Edit the Global KDE Menu Items from a console for SUSE Linux

[Edit]: Found some extra sites
The specification
SUSE realises they left something out

On the wrong side of procrastination

Its 3am in the morning. Some one needs to study.

Its like my formula for time management can be expressed as follows:

time taken = time to due date * 110% + small % of time to due date to actually get work done + penalty of up to 20% for getting estimation wrong.

To dumb it down, the formula says, set a fucking due date, and watch me wait it down, till it gets close, then race to finish it past the deadline.

Now, in my professional and academic development, and all the resources I have poured into dealing with this issue, you’d think I’d be better at fixing this.

A lot has to come down to maturity. Or so my spirit wishes me to acknowledge.

Just pick up the fucking book, pick up the fucking book… words turn into paragraphs, paragraphs turn into pages, pages turn into chapters, chapters turn into volumes, volumes turn into knowledge and make you go complete full round circle.  There’s no mantra like hypnotic mantra.

They (the well wishers and know it alls) want to tell you that its your spirits way of telling you you aren’t really interested in what you are doing.  What are the alternatives, save the world with rock music?  We’ll I’ve got a lot to say, but I’m not down with that music medium, you know what I’m saying (how about you go learn it? – with what time?).  How about, save the world thru technical wizardry, more feasable in my current position and more linkable to my goal of finishing uni and what I’m doing now.  Realism of saving the world?  10% (save it from what?)   Realism of saving myself and my family to be and giving them the chance of a good life? 95%.   Realistic approach that finishing uni will allow me to attain the most realistic of the scenarios above.  Priceless.

a) Define the term idle RQ (stop-and wait ARQ) protocol.
b) Define the term Implicit Feedback
c) Define the term Explicit Feedback
d) Using a frame (message-exchange) sequence diagram show how an idle RQ (stop-and
wait ARQ) protocol handles:
i) Error free transmission
ii) a situation where one of the sender’s information frames is corrupted
using Explicit Feedback
iii) a situation where one of the receiver’s ACK frames is corrupted using
Implicit Feedback

The ridiculous time it takes to build Qt 4.2.1

Ok so I’m pretty green when it comes to installing and building linux applications on your own system.

In the last week I think I’ve nailed it but now I’ve come to realise the pitfalls of this flexibility.

I started building the Qt 4.2.1 libraries and that was about 3 hours ago. Not to mention my system slowed to a crawl, and yes it is an old system, but I was expecting a little more play nice with everything so I could get some decent responsiveness from other background apps whilst I was waiting for the build.

OK, whining aside, at least I got the thing finished albeit the very late time.

Synaptics Touchpad Horizontal Scroll and Firefox

http://gentoo-wiki.com/HARDWARE_Synaptics_Touchpad

The most irritating thing about using Firefox on Suse and is having the horizontal scroll act as back and forward keys.

The linked page gives a great insight into configuring Xorg.conf to take advantage of the numberous controls and button emulations a laptop touchpad provides.

But it also highlights the solution to the problem of horizontal scroll in firefox isn’t to disable horizontal scroll, rather tell firefox you don’t want it to behave that way.

In short, go to about:config in firefox.
Set mousewheel.horizscroll.withnokey.action to 0
Set mousewheel.horizscroll.withnokey.sysnumlines to true

Holding a modifier, like alt, control, meta (windows), or shift is still configured to perform back and forth.

If you want to know what other options are available see
http://kb.mozillazine.org/about%3Cb%3E%3C/b%3E:config_entries#Mousewheel..2A

Variables are easy to do

Variables are easy to do

In my Amiga and MS-DOS days, I recall to set a variable you had to use a set command. Everytime I’m in a POSIX based system, I always forget how to set variables and the sad thing is its fricken easier than the mainstream systems….(mental note: gotta pick where to use the word mainstream these days.)

So to set a variable:

VARIABLE_NAME=value

Thats it!

It’ll make you feel stupid just looking at it. No keywords, the syntax is built into the shell directly.

You then want to export this variable to an environment value so that a variable can become global, not just to the shell or script instance that it executes in. To do this

export VARIABLE_NAME

Ok, and since I’m on the topic, I may as well tell you about how variables are referenced.

$VARIABLE_NAME will substitute the variable value in your command. You can do things like handle spaces in values by surrounding $VARIABLE_NAME in double quotes.

If you actually want to print out verbatim the text `$VARIABLE_NAME’ then the key is to open the text with a backquote (`) instead.

Viewing the System Log

You know how CTRL+ALT+F[1-6] gives you a virtual session, and CTRL+ALT+F7 gives you the X session, I read in the Suse Manuals that CTRL+ALT+F10 gives you the system log. Very helpful to quickly flip to while you are trying to figure out why something doesn’t work.