Monday, February 15, 2010

common git branch tasks

I like

Zorch's workflow examples on starting a new branch on a remote git repository.

[Here as a reminder so I can search on site:monotrematica.blogspot.com git branch]

Thursday, February 11, 2010

NZ School goes completely open source

There's a great story at CIO about how a New Zealand high school switched to open source servers going from 48 servers to 4. It's pretty good to save 11/12ths of your hardware, electricity and server maintenance/sysadmin budget.

Wednesday, February 10, 2010

fireEvent when keyPress, keyDown, keyUp don't work

Evil Tester writes about fireEvent, so I don't need to

I found this (and Nick Bartlett's summary) when doing a google search for selenium IDE where type, keyPress, keyDown, keyUp, etc weren't working as expected.

I'd actually found and used fireEvent a few months ago when I was working with some selenium tests for the Mahara e-portfolio open source system. But I'd since forgotten.

In the problem at hand, there was an input textbox with an onkeydown which detected what key was pressed and if it was the ascii(13), would call this.blur(). The solution was just to "fireEvent | locator | onblur".

[Posted here so that I'll be able to find it when I do a google search on "site:monotrematica.blogspot.com selenium IDE keyPress keyDown onblur" :-]

Thursday, February 04, 2010

Parameterized jmeter threadgroup and loop count settings

as pointed out in the mailing list post,

run jmeter with user specified jmeter parameters, e.g.,

jmeter -J threads=10 -J loopcount=5

and then, in the threadgroup, set the relevant fields to, e.g.,

${__P(threads)} and ${__P(loopcount)}

In the beanshell sampler, parameters can also be accessed via:
JMeterUtils.getProperty("threads");

Wednesday, January 20, 2010

Gnome panels on external monitor

The new monitor works very well, but some things aren't great. The fact that it's a rectangle (and there is invisible space above the laptop top panel is one. But I'll adjust to that.

I did need panels on the external monitor though. It's not convenient to have tasks on both monitors over on the laptop panel since I couldn't get a panel on the external monitor.

Then I found several solutions at answers.launchpad.net.

I used the gconf-editor solution. But after reading downward, I learned about the Alt-drag trick. That works too, and is much simpler. To put a panel on the second monitor, just create it first (it'll go on the first monitor). Then press Alt and click and drag the panel to the other monitor.

Monday, January 18, 2010

Services not coming up

After a recent package update on my work computer (AMD64), services were not being started on boot (no apache, ssh, etc). Strangely enough, gdm *does* start, so I get to log in to gnome.

runlevel says "unknown" though.

A bit of googling points to this: https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/497299

and also https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/461725

I don't understand the whole thing. There seems to be a race condition when init tasks run in parallel. And also bugs in updating /etc/network/interfaces.

It's fixed for me by forcing upstart to the previous version (0.6.3-10). I then pinned that. If a 0.6.3-12 version comes up I may download it and test. Or maybe I won't, since 0.6.3-10 works and I doubt if newer versions in karmic will actually give me much reason to upgrade.

[Update]
Sol's laptop (upgraded to karmic the other day) has the same problem. I'll fix it the same way tonight (can't ssh into it since the services didn't start :-).

[Update]
boy, upstart-0.6.3-11 officially sucks. I updated the toshiba laptop and had the same problem. The Durabook is fine though. That's three computers out of four. Might become four out of five after I upgrade sol's desktop at work to karmic.

Friday, November 13, 2009

Problems with 32bit java on AMD64 on karmic

I prefer to run 32 bit java on my desktop since I only have 2GB of RAM. 64bit buys me nothing, and it eats twice the RSS.

With Jaunty (and Gutsy before that) I'd followed derek's advice on building a 32bit .deb.

I ran a downloaded 32bit eclipse.

Karmic seems to have broken something (probably SWT) and 32bit eclipse with 32bit JDK isn't usable.

Posting this here so I can find Derek's article again and start with that to get 32bit eclipse and 32bit sun-jdk working together again.

[update] It looks like Miroslav Hruz has a solution to the 32bit SWT issue. I'll try that on the weekend (remotely).

[update] I got things working without really understanding (or logging) what I did. After a bunch of uninstall, reinstall, all without notes (and some of it was in synaptic, so not in .bash_history), 32-bit sun-jdk and 32-bit eclipse started working again without me needing to do anything as in the links above. I did export GDK_NATIVE_WINDOWS=1 though. Thus ends this unhelpful post :-).

Saturday, October 31, 2009

No audio? Is skype running?

I was looking at newly uploaded (from camera) videos of Timmy and John and I was confused because the videos were weird:


      Totem said they where *playing*, but the progress bar wasn't moving and there was neither sound nor video.

      The time counter (shows how many seconds/minutes into the video/song you're in) wasn't moving.

      I thought it was something wrong with the newly mangled videos (made smaller via ffmpeg) so I tried some MP3s. Same symptoms as for the videos.



So I looked around at the modules, and at dmesg. Everything looked good. Until I moved my mouse to the bottom of the screen and the hidden status panel popped up. Skype was running. Apparently, on this machine, it takes over the sound card.

Thursday, October 08, 2009

Slow vim startup -- solved

I've had some frustration due to slow vim startup.

time vim -c 'q'

real 0m6.138s
user 0m0.096s
sys 0m0.024s

Found the solution though. a blog post at samdorr.net says to use -X.

So now I have two new aliases in ~/.bashrc

alias vi="/usr/bin/vi -X"
alias vim="/usr/bin/vim -X"

I was a little confused because the slowness was there in screen, but when I opened a new terminal, there was no slowness (even without the aliases). I think it's because I've restarted X since I started screen. So $DISPLAY in the screen sessions is :0.0, but possibly there's some other X authentication cookies that refer to the old X session. Ok, I just looked, there's an XDG_SESSION_COOKIE, maybe that's it, or if not, something similar. So the X authentication still succeeds, but only after a timeout.

The poster at samdorr had a different problem. His server probably didn't have X at all, or maybe vim is trying to connect via ssh X forwarding, back to his graphical terminal :-). But the solution he gives is an axe that solves my problem too since I don't need vim to talk to X at all.

Hmmm, someday I'll just need to catch up to the modern world and use gvim, and probably syntax highlighting even :-).

Tuesday, October 06, 2009

Vodafone "Vodem" -- very easy

A friend of mine has a vodem (that's a USB HSDPA modem that works with the Vodafone NZ network). I borrowed it and tried it out on my Jaunty (Ubuntu 9.04) laptop at home.

I was confused initially since I had no manual or anything else. My friend said that on windows there's a CD, it installs a bunch of things and then just works. I didn't think to ask if authentication via login/password was required.

After some messing around, I found a hint on ubuntuforums that pointed me in the right direction. NetworkManager in Jaunty automatically detects the modem. It even automatically detects the network. It then presents a dialog asking which country (NZ is already default selected) and which Network to use. There are three networks ("Vodafone", "Vodafone (restricted)", and "Vodafone (unrestricted)"). My confusion was that I chose the first and the modem immediately disconnected.

I should have chosen the third. Upon choosing "Vodafone (unrestricted)", the vodem connects immediately to the Vodafone network and then just works. No further management needed. This is pretty cool. Too bad vodafone data charges are still so high. When the data charges drop by a factor of 10, this will be a real player. For now, it's a nice toy that I'm soon going to return to its rightful owner.

Thursday, October 01, 2009

On recruiting software developers

John Fuex has a great article, 19 Tips for Recruiting Great Developers

Now, not all companies are going to be needing the superstars this article focuses on, but the points made there should be relevant to, say, the top 85-90-95 percent of developers.

Perhaps the tips can be relaxed according to the quality of the developer needed by the company (although the company, HR division or recruiter who is conscious of the actual target percentiles [instead of being hypnotized by some mantra about hiring "only the best"], is likely very rare on the ground).

Friday, September 25, 2009

Switched back to gnome

I had switched to xfce4 in Ubuntu because it gave me some memory savings. I found, however, that on my work desktop, I got *far* more savings by installing and using a 32-bit JDK (and 32-bit eclipse to go with it).

I didn't really need to switch back to gnome, but gnome is a bit smoother than xfce in the total experience, and I found myself using gnome applets in xfce (mainly the user switcher, but some others too).

I didn't switch back to gnome immediately since I *much* preferred xfce's Alt-F2 behavior to gnome's. The application chooser is much smarter even than Gnome-do. But then I realized that I could use xfrun4 in gnome. And after testing that at work, I've switched to gnome+xfrun4 at home too.

I forgot how I was running firefox as another user for security :-). After some fumbling, I figured it out again (although, really, I should just have logged back into xfce and looked at the launcher :-).

sudo -u [other_user] -H /usr/bin/firefox-3.5 -a [profile] -P [profile]

The -H is necessary because if it's not given then it'll use your own home directory rather than the home directory of other_user.

Wednesday, September 09, 2009

Ubuntu 9.04 gphoto2/libgphoto2 borken for my Canon Digital Ixus 700

I use gthumb for downloading camera pictures to my computer. I have a script that takes the filenames produced by gthumb and renames and creates resized copies of the images and videos. gphoto2 talks to the camera in PTP mode.

For a while gthumb worked on my laptops. It's stopped working now though and I don't know why. There are bugs posted with Ubuntu regarding this. Adding yet another bug confirmation won't do any good.

At one point I had gphotofs working enough to mount the camera filesystem. But I didn't want to mess with the filesystem directly. And anyway, gphotofs isn't working anymore now (it runs, returns, but doesn't actually mount the filesystem, and gphotofs keeps running in the background [which is OK, that's what it needs to do as a fuse filesystem provider]).

So now I have a horrendous hack for grabbing the images :-). I installed Ubuntu Intrepid under VirtualBox, gave it access to the USB devices, and I run gthumb there. Then I just scp the files over to the host box and halt Intrepid.

Yech. It works, but is hoogly :-). Maybe this'll be fixed in Karmic.

Overall, I find Ubuntu a pretty good platform for doing everything I need to do, but there certainly are the little niggles like this that demonstrate it's not really ready for regular users. Or it is, but they'll come up against walls every once in a while, get frustrated, and go back to their windows viruses.

[Update]
Ah, pulled in gphoto2, libgphoto2 and libgphoto2-port0 from karmic (downloaded the debs manually and installed with dpkg -i) and gthumb is now downloading the pictures. I understand about lack of resources, but it does seem a bug that this fix wasn't backported to work with Jaunty.

[Update]
I'm now actually on Karmic. The dist-upgrade reverted a separate and necessary fix. Gnome has a gvfs module for gphoto2 and when it's loaded, gthumb can't read the pictures/videos from the camera since the PTP port is already in use (by the gvfs gphoto2 module). Solution is to disable that. There might be a neater way, but I just did
chmod a-rwx /usr/lib/gvfs/gvfsd-gphoto2.

Sunday, August 30, 2009

Screen and scrollbars!

I work with Nigel McNie and was whining (on the company IRC server) to a friend about screen and how I wish I could get it to work with scrollbars. He pointed me at Nigel's page on how he uses screen.

I don't use urxvt, but the invocation given there works with rxvt too (just change urxvt to rxvt in the .Xdefaults entry). So now I've got scrollbars working with screen.

Slightly more secure

On my home computer I've got a reasonably secure browsing setup (firefox 3.5, noscript, adblock, flashblock, made the flash cookies directory non-writeable, etc). But nothing is perfect. So I decided to raise the bar a bit. I moved my main browsing profile to a separate user account (so that even if it gets cracked, it won't have access to my ssh keys (ssh-agent is convenient, but it could be a hole), data in my home directory (svn working copies, git working copies, random other files) or to my other privileges (sudo access on this and other computers).

My trusted profiles (online banking, power company, mobile phone company, phone/internet company, cable tv company, etc) will probably go into yet another account. I haven't done that yet. But I'll get it done tomorrow, probably.

For reference:

to allow the other user to run firefox on the main display:
xhost local:[other_user_name]

and to actually run firefox as the other user:
sudo -H -u [other_user_name] firefox-3.5 -a [profile] -P [profile]

I don't think the -a should be needed there, but it doesn't work right (loading the default profile instead of the profile I want) when it's removed. So I keep it in.

Update - I wondered why youtube and other videos had no sound in this new setup. Today I realized that it's because the browser is running as the other user, and that other user isn't in the audio group.

Fixed with vigr.

Saturday, July 18, 2009

FreeNX

Install FreeNX server on ubuntu

Google has also announced a free NX server called NeatX. It's very new and there are no ubuntu packages yet.

Sunday, June 21, 2009

Firefox 3.5 Memory usage looking good

This article benchmarks opera, chrome, firefox 3.5 and safari in terms of how much memory they took to perform the same task(s). The numbers are for Windows, but I expect that there'll be a similar improvement in memory use on Linux.

Firefox 3.5 is looking very good. I'm going to download the beta and test the heck out of it :-). Browser memory use has been a *huge* problem for me, particularly since I've been doing a *lot* of Selenium testing. Of course selenium, and firebug and similar developer tools will increase the amount of memory used by browsers by a lot. But if the base browser can use a lot less memory, that'll be a huge help (particularly since Eclipse and tomcat 5.5 aren't memory-thin applications either, and running everything together makes my system slow as molasses as they force each other out to swap).

pidgin stopped working with yahoo

Yahoo changed their messenger authentication protocol and now pidgin 2.5.6 has stopped working with Yahoo Messenger. There's an announcement that 2.5.7 is available at launchpad, but it's not really there yet. I guess it takes a while for packages to become available, or maybe I'm hitting a mirror and the mirror hasn't synced yet.

I hope it'll be there tomorrow so I can upgrade my laptops and my work computer :-). If not, well, web.im works well enough for now. It sure would be convenient though if pidgin were to start working again soon :-).

I'm not yet ready to build pidgin from source. But I may be, by Tuesday :-).

Saturday, June 20, 2009

Broadband plan upgrade

I was sick for much of last week. That's why we're upgrading our broadband plan (to avoid 64kbps when we go over our cap). Now, it's only one week til the end of the current cycle, so we're going to have to use up 10G in one week :-). I don't think that's going to be a problem.

Our previous plan was the Explorer plan, with 10GB of bandwidth before we're slowed down to 64kbps.

Since I was sick last week though, but I only took two sick days (Monday and Tuesday). I went to work on Wednesday, but that was a mistake since I got worse on Thursday and had to stay home Thursday and Friday. But I didn't want to not work at all the whole week, so I worked from home. Unfortunately, work involved a lot of vnc work against a vserver at work. So I blew around 2.5GB on vnc :-).

So we're upgrading to a 40GB cap plan. It's only NZ$10.00 more for double the bandwidth, so it's a great deal. There's a real danger that we won't downgrade from this plan :-).

Well, we plan to get a second broadband link at some point. Sol works from home 4 days a week, and I do quite a lot of work from home, so redundancy (even against an extremely unlikely outage) is going to be worthwhile. But that won't be for a while yet. And if we do that, then I'll certainly ratchet the telecom plan down.

I should have started the upgrade yesterday morning, so that it'd take effect by Tuesday (two working days). I didn't though, so we'll have to stay under the 800MB cap until around end of Tuesday or sometime Wednesday when the new plan takes effect. It had better not take til Friday to take effect though.

Update: I looked at the bandwidth monitor this morning and I noticed that we'd already been upgraded. No 2 day wait. That's cool since I *was* wondering what they were thinking with the 2 day wait. The delay was probably a leftover from some manual procedure that required review and approval, a leftover that got brought over to the web based procedure. And telecom finally figured out that the approval and delay weren't necessary since, after all, the customer logged in and authenticated themselves with their password.