This post will be of no interest to most of you. I am simply posting the keys file for my fluxbox configuration. I tend to forget to save it when I do a clean install and therefore loose it all the time. I am pretty lazy on getting it setup again. Finally did it after 4 months so I am posting it here for future reference.
# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace
# scroll on the toolbar to change workspaces
OnToolbar Mouse4 :PrevWorkspace
OnToolbar Mouse5 :NextWorkspace
# alt + left/right click to move/resize a window
OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
# middle click a window's titlebar and drag to attach windows
OnTitlebar Mouse2 :StartTabbing
# double click on the titlebar to shade
OnTitlebar Double Mouse1 :Shade
# right click on the titlebar for a menu of options
OnTitlebar Mouse3 :WindowMenu
# alt-tab
Mod1 Tab :NextWindow {groups}
Mod1 Shift Tab :PrevWindow {groups}
# cycle through tabs in the current window
Mod4 Tab :NextTab
Mod4 Shift Tab :PrevTab
# go to a specific tab in the current window
Mod4 1 :Tab 1
Mod4 2 :Tab 2
Mod4 3 :Tab 3
Mod4 4 :Tab 4
Mod4 5 :Tab 5
Mod4 6 :Tab 6
Mod4 7 :Tab 7
Mod4 8 :Tab 8
Mod4 9 :Tab 9
# open a terminal - SEE PERSONAL SECTION
#Mod1 F1 :Exec aterm -ls -fg green -tr -trsb -sh 50 -fade 70 -vb -sb
# open a dialog to run programs - SEE PERSONAL SECTION
# Mod1 F2 :Exec fbrun
#Mod1 r :Exec fbrun
# Special keyboard codes for audio!!
# **** logitech mx5000
# volume settings, using common keycodes
# if these don't work, use xev to find out your real keycodes
123 :Exec amixer sset Master,0 1+
122 :Exec amixer sset Master,0 1-
121 :Exec amixer sset Master,0 toggle
172 :Exec amarok --play-pause
174 :Exec amarok -s
171 :Exec amarok --next
173 :Exec amarok --previous
179 :Exec amarok
# THESE ARE FLUXBOX DEFAULTS, REMOVED FOR MY OWN SAFETY
# current window commands
# Mod1 F4 :Close
# Mod1 F9 :Minimize
# Mod1 F10 :Maximize
# Mod1 F11 :Fullscreen
# open the window menu
#Mod1 space :WindowMenu
# exit fluxbox
Control Mod1 Delete :Exit
# CHANGED FROM DEFAULT OF CONTROL KEY TO ALT
# change to a specific workspace
#Control F1 :Workspace 1
Mod1 F1 :Workspace 1
Mod1 F2 :Workspace 2
Mod1 F3 :Workspace 3
Mod1 F4 :Workspace 4
Mod1 F5 :Workspace 5
Mod1 F6 :Workspace 6
Mod1 F7 :Workspace 7
Mod1 F8 :Workspace 8
Mod1 F9 :Workspace 9
Mod1 F10 :Workspace 10
Mod1 F11 :Workspace 11
Mod1 F12 :Workspace 12
# My own personally loved settings
# special keys from logitech mx5000
163 :Exec thunderbird
Mod1 t :Exec thunderbird
Mod1 o :Exec firefox
Mod1 f :Exec filezilla
Mod1 g :Exec gedit
Mod1 a :Exec aterm -ls -fg green -tr -trsb -sh 50 -fade 80 -vb -sb
Control q :Close
Mod1 l :Exec xscreensaver-command -lock
Mod1 d :ToggleDecor
Mod1 n :Exec nautilus --no-desktop
Mod1 z :MacroCmd {Exec aterm -ls -fg green -tr -trsb -sh 50 -vb -sb -e ssh sp} {Exec aterm -ls -fg green -tr -trsb -sh 50 -vb -sb -e ping yahoo.com} {Exec gkrellm}
Control Mod1 Mouse1 :KillWindow
# REALLY? WHY DO I NEED THESE?
# send the current window to a specific workspace
#Mod4 F1 :SendToWorkspace 1
#Mod4 F2 :SendToWorkspace 2
#Mod4 F3 :SendToWorkspace 3
#Mod4 F4 :SendToWorkspace 4
#Mod4 F5 :SendToWorkspace 5
#Mod4 F6 :SendToWorkspace 6
#Mod4 F7 :SendToWorkspace 7
#Mod4 F8 :SendToWorkspace 8
#Mod4 F9 :SendToWorkspace 9
#Mod4 F10 :SendToWorkspace 10
#Mod4 F11 :SendToWorkspace 11
#Mod4 F12 :SendToWorkspace 12
# send the current window and change to a specific workspace
#Control Mod4 F1 :TakeToWorkspace 1
#Control Mod4 F2 :TakeToWorkspace 2
#Control Mod4 F3 :TakeToWorkspace 3
#Control Mod4 F4 :TakeToWorkspace 4
#Control Mod4 F5 :TakeToWorkspace 5
#Control Mod4 F6 :TakeToWorkspace 6
#Control Mod4 F7 :TakeToWorkspace 7
#Control Mod4 F8 :TakeToWorkspace 8
#Control Mod4 F9 :TakeToWorkspace 9
#Control Mod4 F10 :TakeToWorkspace 10
#Control Mod4 F11 :TakeToWorkspace 11
#Control Mod4 F12 :TakeToWorkspace 12
I am currently working on a site where the client has a rich text box to enter content for his articles. This is not unusual in itself, however he wants the ability to do some wikiish syntax in the text box and have the system magically produce the output for him. For instance, \[\[ThisIsSomePage\]\] could create an internal link to some other page on the site. I had not done this before, however I immediately thought of using a regular expression(regex, regexp). A little bit of research confirmed that this would be a good approach, but how was I to get the data between the characters that I chose as delimiters so that I could manipulate it? Turns out that this is a fairly simple and straight forward process.
/**
* Converts all internal links into html links through the use
* of a wikiish syntax
*
* Syntax for internal links:
* \[\[LinkToSomewhere\]\]
*
* Converted to:
* <a href="LinkToSomewhere.html">LinkToSomewhere</a>
*
* @param String $text - Text to parse
* @return String - Parsed text
*/
function convert_internal_links($text)
{
$text = preg_replace_callback(
"/\[\[([^\]]+)\]\]/",
create_function(
'$matches',
'return "<a href="http://ben.lobaugh.net/blog/wp-admin/%5C%22%22.urlencode%28$matches%5B1%5D%29.%22.html%5C%22">$matches[1]</a>";'
),
$text
);
return $text;
}
It works great, and it seems to be pretty quick too.
My tech posts have been a bit lacking of late, and though this one isn't really much of a techy post it is a pretty geeky game. Instead of using a fancy visual interface this game is played through using sql statements.
mysqlgame
I am always forgetting what numbers have what permissions, so I made myself a text file with the answer. I use it so much I figure I may as well share it with all of you. I hope you find it useful. These numbers will work on any Unix based operating system. This includes Linux and Mac OS X.
1 = execute
2 = write
3 = execute write
4 = read
5 = read execute 4 + 1
6 = read write 4 + 2
7 = read write execute 4 + 2 + 1
So let's say your computer has more than one processor in it. I bet you would like to take advantage of that capability wouldn't you? Especially when you are compiling something like openoffice.org (May as well shoot yourself in the foot while you're at it!).
So here is the dealio. All you need is a little '-j <#cpu>' option. You should take note though that the number is your number of processors PLUS 1.
Eg: 2 processor system
-j 3
4 processor system
-j 5
And so on. You found this tip so I am guessing you are smart enough to be able to figure out what number you need.
This is a simple command that will change the file extentions of all files in a directory. It is rather simple and all it requires is base, for, do, mv, and echo. All of which any Unix based operating system should have. This also works on OS X.
For this example I used bash on Debian 3.1. I had a directory full of JPEG images that had an uppercase extension of JPG. Uppercase extensions are a pet peeve of mine. Not sure why, but I cannot stand them. I think maybe because I am a web developer so I try to keep everything lowercase for ease of use. Anywho...I had a directory full of files with the uppercase JPG extension and I wanted them all converted to lowercase jpg. Here is the code I used.
for file in * ; do mv "$file" `echo $file | sed s/JPG/jpg/g` ; done
Any file having JPG in it will have JPG converted to jpg. Simple, quick, done. If you wish to convert something else simply change s/JPG/jpg/g to something else. For example, changing all doc extensions to txt should work like so:
for file in * ; do mv "$file" `echo $file | sed s/doc/txt/g` ; done
I hope that helps someone out there. I found it useful enough to share with ya'll!
A couple years back I needed to move to a new web server and I had some specific criteria. First off I needed a Virtual Private Server (VPS) so I could have full control of my system. I also needed to have root access and be able to install any program I felt like. I wanted to be able to use the space any way I wanted, files, email, domains, etc. So I shopped around and I found WestHost. They sounded pretty good. They even provide a custom control panel with many prepackaged programs available. So I emailed them with a large list of questions, high up on the list was that I wanted full control over my host, and I wanted the Operating System (OS) install all to myself. I was assured of this and much more.
So I signed up. Because of all the assurances I felt confident in my choice and did two years. That was the two worst years of hosting I have ever seen. For starters the "VPS" was not a full OS installed just for me. It was a chroot with a very limited toolset, and I could not install most of the programs that I wanted. The connections after a few months became very very laggy, and timeouts would occur on a regular basis. The control panel was terrible! Just to move to a new page would cause a few minute wait. The email system was just horrendous. I could add more domains, but email was ridiculously limited. If I wanted to make a contact@bleah.com email account for a client I was locked out of ever using 'contact' again. Any account that I created worked for all domains. contact@bleah.com and contact@yomotha.com were both the same account! Highly aggravating. The tech support was terrible too. I had a domain suddenly just stop working. I traced the issue back to the webserver so I submited a ticket. After a couple back and forth messages I got fed up and logged into the server to do some extra testing. Sure enough I had it fixed in about 5 minutes. It was not something that I should have had to figure out though. WestHost should have known what was going on. That is what managed hosting is for right? They take care of your issues.
Well that was the last straw. I started looking for new web hosts. A guy I work with recommended MediaTemple. He has had an account for years and loves it. Plus they started this new service called Grid. It is a cluster of servers all hooked together. It assures you constant uptime, and if your load goes up it will spread the load across servers. MediaTemple did not give me a VPS, but they are very up front and have not hidden anything. I am able to ssh into the server to do things myself, and I can install any programs I want. The real clincher for me though was their control panel. All custom made in house and it works beautiful. Super easy to setup new client accounts, and email account are on a per domain basis just like they should be. I highly recommend MediaTemple if you want a simple hosting solution that is easy to setup and maintain. Of course I also have my own private dedicated server elsewhere that I have absolute control over, but MediaTemple makes it so easy and convenient to get clients up and running I think I will keep it around for a while.
Do not, I repeat DO NOT EVER use WestHost under ANY circumstances.
Cheers
I recently switched my laptop over to Ubuntu Edgy after a hard drive failure. When I tried to install JBuilder 2005 again I got all kinds of errors about libc.s0.6 and libpthreads.so.0 etc. I would give you the exact error, but I did not think to post about it till now and therefore did not save the error message.
I found this on Borland's site and sure enough it fixes it.
Go to the directory where you extracted the downloaded file and:
$ cp install.bin install.bin.orig
$ cat install.bin.orig | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > install.bi
Here is a link to the issue on Borland's site.
My apologies. It seems the link was broken. It is all fixed now
richiefrich of Penguin's Lair recently brought to my attention a unique website that helps users design their very own stuffed tux.

Thanks richiefrich, and thank you free-penguin.org!
On my Compaq Presario X1000 series laptop my mouse was not recognized after a kernel upgrade. I do not know if it broke because of the kernel or not, but here is how I fixed it.
This happened on a Debian system but the solution probably works on other distros