The best place to ask programming/development questions, imo. UPDATE: stackoverflow is the *worst* place to *ask* questions (if your first question/comment doesn't get any up-rating/response, then u can't ask anymore questions--ridiculously unrealistic), but a great reference for finding answers.

My Music (Nickleus)

20120130

how to make a bent line with arrow head in a dia diagram

if you want to make an arrow line from element to another, use "polyline":

 click on the element you want the line to go *from*:

then click and drag the arrow head over to the element the arrow is going to point *to*. when the element turns red, unclick and it will snap to the element:

right click on the new line and choose "add corner":

you'll now see an orange box. click on it and drag it to where it creates a nice L shape:

20120121

ubuntu linux chrome cant click flash popup to allow local storage permission [SOLVED]

my son was trying to go to ninjago.lego.com, but when the page loaded the adobe flash dialogue popup box was asking for permission to store information locally, but it was impossible to click the allow button. to fix this i right clicked on it and chose "global settings".

then in the "storage" tab
* click "allow sites to save information on this computer"
* click "delete all"

then in the "camera and mic" tab
* click "block all sites from using the camera and microphone"
* click "camera and microphone settings by site" and "remove" all websites

do the same thing in the "playback" tab

then in the "advanced" tab remove all the sites in "trusted location settings"

click "close"

restart chrome

20120118

how to install the gedit regex/regexp plugin for unity in ubuntu linux 11.10 oneiric ocelot

download this file http://live.gnome.org/Gedit/Plugins?action=AttachFile&do=get&target=regex_replace-gedit3.tar.gz

close all instances of gedit

open a terminal/console and move to where you downloaded the file, e.g. /home/myuser/Downloads
cd /home/myuser/Downloads
tar xzvf regex_replace-gedit3.tar.gz
mkdir -p ~/.local/share/gedit/plugins
mv regex_replace ~/.local/share/gedit/plugins


start gedit > edit > preferences > plugins > put a checkmark on "regular expressions"
now when you want to use regular expressions in search and replace you go here: search > regular expressions

source: http://halfhourhacks.blogspot.com/2008/03/gedit-regular-expression-plugin.html

20120112

how to import local source code to a new, remote, subversion svn repository from the command line

i have newly configured jboss 7 web profile for a potential migration we will do from jboss 4. i was asked to commit my entire jboss 7 to subversion so another developer could look at it. here's how i did it, the errors i got during the process and how i overcame them.


on my local machine (where i have the jboss source), log into the remote svn server:
ssh mySshUser@myRemoteSvnServer

(i'm now) on myRemoteSvnServer (ip address: 192.168.1.254), create the new svn repo:
sudo svnadmin create /srv/svn/repos/jboss-as-web-7.0.2.Final

now copy the password file from another svn project (the same people will be allowed to access this jboss project):
sudo cp -f /srv/svn/repos/anotherSvnProject/conf/passwd /srv/svn/repos/jboss-as-web-7.0.2.Final/conf/

otherwise just edit the new repo password file, defining who has access to it, etc.

now make sure the ownership of the new repo is correct:
sudo chown -R www-data:www-data /srv/svn/repos/jboss-as-web-7.0.2.Final

on my local machine, import the jboss source to the new, remote repo you just created:
svn import /path/to/jboss/source/jboss-as-web-7.0.2.Final https://192.168.1.254/svn/jboss-as-web-7.0.2.Final

on myRemoteSvnServer, just to be sure, make sure ownership is correct again:
sudo chown -R www-data:www-data /srv/svn/repos/jboss-as-web-7.0.2.Final

---
along the way i got various errors:

svn: OPTIONS of 'http://192.168.1.254/svn/jboss-as-web-7.0.2.Final': could not connect to server (http://192.168.1.254)
svn: Your commit message was left in a temporary file:
svn:    'svn-commit.tmp'
this was most likely due to the fact that the remote svn server actually runs on https, not http.
svn: Can't open file '/srv/svn/repos/jboss-as-web-7.0.2.Final/db/txn-current-lock': Permission denied
svn: Your commit message was left in a temporary file:
svn:    'svn-commit.2.tmp'
this was most likely due to a permissions/ownership issue, so i ran this on the remote svn server:
sudo chown -R www-data:www-data /srv/svn/repos/jboss-as-web-7.0.2.Final

20120109

how to compile and install vestige (vstige) vst plugin for lmms 0.4.12

UPDATE 20130205: How to install LMMS 0.4.14-rc1 with VST support on Ubuntu 12.04 (Precise Pangolin) (without having to compile anything!)


in ubuntu 11.10 i couldnt install lmms or lmms-vst because it was complaining about a wine dependency--wine1.2--even though wine1.3 was installed:
lmms : Depends: wine1.2 but it is not going to be installed 
E: Unable to correct problems, you have held broken packages
so i had to compile and install lmms from the source code:
http://lmms.sourceforge.net/download.php

basically follow this guide: http://lmms.sourceforge.net/wiki/index.php/Compiling_LMMS

but here's exactly how i had to do it to get it to work, AND get the vestige vst-plugin (libvestige.so) to get installed (because it doesnt get installed by default):
when i tried cmake-ing the project the first time i got the following dependency errors:


CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FREETYPE_LIBRARY (ADVANCED)
    linked by target "RemoteZynAddSubFx" in directory /home/nick/binl/lmms-0.4.12/plugins/zynaddsubfx
X11_Xft_LIB (ADVANCED)
    linked by target "RemoteZynAddSubFx" in directory /home/nick/binl/lmms-0.4.12/plugins/zynaddsubfx
X11_Xinerama_LIB (ADVANCED)
    linked by target "RemoteZynAddSubFx" in directory /home/nick/binl/lmms-0.4.12/plugins/zynaddsubfx
-- Configuring incomplete, errors occurred!


so i  had to install some things to make the errors go away:
sudo apt-get install libqt4-dev qt4-dev-tools build-essential libxft-dev libfreetype6-dev libxinerama1 libxinerama-dev

then i got the source code using github:
cd

git clone git://lmms.git.sf.net/gitroot/lmms/lmms
cd lmms
git checkout -b stable-0.4 origin/stable-0.4

then i created the vestige buildfiles (so it would get installed when we run cmake on the whole project):
cd plugins/vestige

cmake .

then i compiled and installed lmms:
cd ../..
mkdir build
cd build
cmake ../
make
sudo make install

now start lmms.
when you run it for the first time you'll need to do some configuration. i set the following:
audio settings > audio interface: ALSA
midi settings > midi interface: ALSA-Sequencer

here are a whole load of awesome, FREE, vst plugins, by DSK Instruments.

thanks to IRC user Gegsite for his help too =)

20120103

how to list openldap ldap user info in a terminal or graphical browser gui program on ubuntu linux


in order to get the userPassword value you need to bind the search to an authenticated user who has access to view that info, e.g. the admin/root user, e.g. here's how you'd do it with a simple bind authentication (instead of e.g. SASL):
ldapsearch -xLLLWD cn=adminUserName,dc=mycompany,dc=com -b ou=People,dc=mycompany,dc=com -s sub uid=userId
userPassword will look like this:
userPassword:: OHBjcWNLNGlQaVF5

to see that hashed value in clear text either use luma or run a command like this:
echo OHBjcWNLNGlQaVF5 | openssl base64 -d

when i ran that it looked like i got no (zero/empty) output, but in fact the next line looked like this:
mySecretPasswordmyUser@myLdapServer:~$

where the clear text password is the bold text here: mySecretPasswordmyUser@myLdapServer:~$

what happened was the output of openssl didnt add a new line.

you can also use perl and you wont get the new line bug:
echo OHBjcWNLNGlQaVF5 | perl -MMIME::Base64 -ne 'print decode_base64($_) . "\n"'

much thanks to user blingme (Buchan Milne) on the freenode #openldap irc channel for the help with figuring out how to show the user password =)

---


on ubuntu you can install a gui program called luma:
sudo apt-get install luma

settings > edit server list
add
new server name, e.g. my local ldap
doubleclick my local ldap in the server list
click network options
hostname: myldapserver
(or use the IP address)
click authentification
remove the checkmark from anonymous bind
bind as: cn=yourAdminUserName,dc=mycompany,dc=com
password: yourAdminUserPassword
save
ok
click browser

in luma you can see the userPassword in clear text. if anyone knows how to print the userPassword in a terminal, let me know ;)


ref. also: http://www.openldap.org/faq/data/cache/1346.html

UPDATE 20120731
apache directory studio seems like a better ldap browser: http://directory.apache.org/studio/

you can install it as a plugin in eclipse:
help > eclipse marketplace > search for apache directory studio > install

and it is really easy to show the user password in plain text:
find and select the user
right click on the userPassword field > edit value > check show current password details