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.
Sunday, August 30, 2009
Sunday, July 26, 2009
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.
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).
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 :-).
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.
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.
Thursday, June 18, 2009
Caveats of Evaluating Databases
The title of this article is just the title of the article on Caveats of Evaluating Databases. That title isn't very good. But the article is.
Wednesday, June 17, 2009
very interesting discussion of tomcat classloader leak that leads to running out of PermGen
Must read deeply and test (-client seems an easy test)
Update -
Ok, -client doesn't work for me. OTOH, this is an old article (2005). No doubt a lot has changed with Java garbage collectors (and maybe less, but still some changes in Sun java API/JVM implementations). -client is actually significantly bad, compared to -server.
Time to look at org.springframework.web.util.IntrospectorCleanupListener
Update -
Ok, -client doesn't work for me. OTOH, this is an old article (2005). No doubt a lot has changed with Java garbage collectors (and maybe less, but still some changes in Sun java API/JVM implementations). -client is actually significantly bad, compared to -server.
Time to look at org.springframework.web.util.IntrospectorCleanupListener
Monday, June 15, 2009
Morons? Utter Morons?
Sounds like Microsoft has outdone themselves with a bug that makes windows unbootable. And fixing it just sets you up for letting Microsoft making itself unbootable again.
Hearsay only, I wouldn't know if this is true since I don't run windows (it sits there eating up some disk space in case I run across some hardware that needs it, and I'd rather not have to waste money on a license since I've already got one good license [actually, I'd have three, except I've blown away windows on two of our three laptops]).
Hearsay only, I wouldn't know if this is true since I don't run windows (it sits there eating up some disk space in case I run across some hardware that needs it, and I'd rather not have to waste money on a license since I've already got one good license [actually, I'd have three, except I've blown away windows on two of our three laptops]).
Thursday, June 04, 2009
myvodafone fail
I get my mobile phone service from Vodafone NZ because when my family and I arrived in New Zealand, we brought our GSM phones with us, and Vodafone is currently the only GSM provider in NZ. It's a prepaid service since I don't need to make many calls.
Since it's prepaid, I need to top-up my prepaid credit every once in a while. Now vodafone has a service called Hotlink. With Hotlink, it's possible to register a phone number and pin with my bank (highly recommended) and then get prepaid credit top-ups via a vodafone app that works through SMS messages. Hotlink worked very well for us for a year. Lately, however, my sister-in-law came to visit us in NZ and we asked her to buy us new phones since our old phones (well, mine) were approaching unusable due to a cracked screen, shorter battery life, etc.
We love our new phones. However, apparently vodafone's Hotlink app doesn't work with all handsets. Presumably it only works with handsets that vodafone sells or has sold in the past. So no hotlink for us.
Fortunately, there's a website where I can top-up my own phone via credit card payment. I didn't realize that I could top up my wife's phone too, using my account. So I tried to log in to *her* account. I'd forgotten the password, so I clicked on the forgotten password link and it sent a new password to her mobile. Except the password didn't work. I generated passwords three times and none of them worked. FAIL.
And phone support doesn't work since vodafone phone support isn't 24x7. FAIL.
So I logged in to my account (I use the Revelation password manager in Ubuntu to store my passwords) and I noticed that I could pay for prepaid credit to (via credit card) go to any mobile phone. So I used that to send credit to my wife's phone.
But vodafone FAIL isn't done. Vodafone accepts the credit card number on their site instead of having the credit card transaction be processed through a dedicated credit card gateway. In the name of usability they allow myvodafone users to store their credit card information *in*their*profile*. So they're not dropping the credit card information as soon as the credit card transaction is done, they're really storing the credit card information in their database.
Well, they'd better be really security paranoid over there.
Since it's prepaid, I need to top-up my prepaid credit every once in a while. Now vodafone has a service called Hotlink. With Hotlink, it's possible to register a phone number and pin with my bank (highly recommended) and then get prepaid credit top-ups via a vodafone app that works through SMS messages. Hotlink worked very well for us for a year. Lately, however, my sister-in-law came to visit us in NZ and we asked her to buy us new phones since our old phones (well, mine) were approaching unusable due to a cracked screen, shorter battery life, etc.
We love our new phones. However, apparently vodafone's Hotlink app doesn't work with all handsets. Presumably it only works with handsets that vodafone sells or has sold in the past. So no hotlink for us.
Fortunately, there's a website where I can top-up my own phone via credit card payment. I didn't realize that I could top up my wife's phone too, using my account. So I tried to log in to *her* account. I'd forgotten the password, so I clicked on the forgotten password link and it sent a new password to her mobile. Except the password didn't work. I generated passwords three times and none of them worked. FAIL.
And phone support doesn't work since vodafone phone support isn't 24x7. FAIL.
So I logged in to my account (I use the Revelation password manager in Ubuntu to store my passwords) and I noticed that I could pay for prepaid credit to (via credit card) go to any mobile phone. So I used that to send credit to my wife's phone.
But vodafone FAIL isn't done. Vodafone accepts the credit card number on their site instead of having the credit card transaction be processed through a dedicated credit card gateway. In the name of usability they allow myvodafone users to store their credit card information *in*their*profile*. So they're not dropping the credit card information as soon as the credit card transaction is done, they're really storing the credit card information in their database.
Well, they'd better be really security paranoid over there.
Saturday, May 30, 2009
Saturday, May 16, 2009
Switching to xfce4 on Ubuntu 9.04 (Jaunty)
I've been using Ubuntu (Gnome) since Dapper Drake. I've liked it and didn't see the need to switch to anything else. I did take a look at KDE (didn't like it) and xfce (didn't like it then either). It's been a few years though, and xfce is now sufficiently like Gnome (except thinner), that I have now switched over to xfce completely.
I would probably still use Gnome except my work is in java lately, and with tomcat, eclipse, firefox, firebug and selenium, I'm finding that 2GB of RAM isn't enough. I can't upgrade my laptops (they all max out at 2GB, I'd need to buy new laptops to use 4GB or more). So I'm doing everything I can to retrieve memory from fat apps.
No doubt there are more ways to save memory. Maybe opera and selenium-server. For now though, xfce is definitely usable. It's growing on me and I expect that I'll like it more than I like Gnome in just a week or two :-).
I would probably still use Gnome except my work is in java lately, and with tomcat, eclipse, firefox, firebug and selenium, I'm finding that 2GB of RAM isn't enough. I can't upgrade my laptops (they all max out at 2GB, I'd need to buy new laptops to use 4GB or more). So I'm doing everything I can to retrieve memory from fat apps.
No doubt there are more ways to save memory. Maybe opera and selenium-server. For now though, xfce is definitely usable. It's growing on me and I expect that I'll like it more than I like Gnome in just a week or two :-).
Saturday, May 09, 2009
Friday, May 01, 2009
xfce4 on vnc
I'm liking xfce4 on Ubuntu. I'd looked at xfce before and not been too impressed. It was pretty good, but not good or easy enough to use. So I'd stayed with gnome.
For slow machines, I've used either fvwm or icewm. There are other lightweight window managers, but I liked those two.
At work, I use gnome on my primary desktop (but I may change that to xfce4, actually), and icewm on another desktop on which I have a vnc server. I run eclipse and tomcat on my primary desktop, and browsers, IRC and mail clients on the remote desktop.
I think I'm about ready to switch to xfce, actually. I tested that out on my laptop running gnome, with vnc running xfce. I had some minor problems getting xfce working under VNC until I saw a post on "xfce4 on vnc" on ubuntuforums.
Tried it out. It works on the laptop (both primary and vncserver running on the same box. That should be perfect for work.
#!/bin/sh
unset SESSION_MANAGER
startxfce4 &
For slow machines, I've used either fvwm or icewm. There are other lightweight window managers, but I liked those two.
At work, I use gnome on my primary desktop (but I may change that to xfce4, actually), and icewm on another desktop on which I have a vnc server. I run eclipse and tomcat on my primary desktop, and browsers, IRC and mail clients on the remote desktop.
I think I'm about ready to switch to xfce, actually. I tested that out on my laptop running gnome, with vnc running xfce. I had some minor problems getting xfce working under VNC until I saw a post on "xfce4 on vnc" on ubuntuforums.
Tried it out. It works on the laptop (both primary and vncserver running on the same box. That should be perfect for work.
#!/bin/sh
unset SESSION_MANAGER
startxfce4 &
Not jaunty yet at work
I had planned to upgrade my work desktop to Jaunty today. But that's now pushed back to Monday. I forgot to bring a laptop to work, so I wouldn't be able to work if something went wrogn with the upgrade (and I prefer to work on a laptop anyway while the upgrade is running to avoid any instability the upgrade might cause).
Was in such a rush to get Timmy ready for school, and take care of John while Sol brought Timmy to school, that I didn't have time to pack up the laptop.
Naturally, the bus was then late and I would have been able to pack *two* laptops if I'd wanted to :-).
Was in such a rush to get Timmy ready for school, and take care of John while Sol brought Timmy to school, that I didn't have time to pack up the laptop.
Naturally, the bus was then late and I would have been able to pack *two* laptops if I'd wanted to :-).
Wednesday, April 29, 2009
Just noticed: Only 1GB!
I've been working on an HP laptop, an HP Pavilion dv1000. For the longest time I thought I had 2GB on it. It was always fast enough for anything I needed, and even when I was running tomcat, eclipse and firefox on it, it was great.
Of course this is in linux. There's a windows partition on there, but it's never used. I keep it on because it's a legal copy and it'd be a pain to have to reinstall it. As is too often the case these days, the laptop didn't come with the install CD. I think there's an image on the hard drive, but in typical Microsoft arrogance, that would blow away the whole hard drive, and then I'd have to install linux again and have it resize the windows partition again, etc. And I'm not sure about that image anyway.
So it's all been good and fast for the year and a half that we've had it. The CPU isn't very fast, but we only use it for browsing and email and the occasional web based program. Previously, only in PHP, so nothing that would stress the memory on the box.
I recently noticed though that with eclipse+tomcat+firefox3, the box was swapping. So I finally looked at what linux thought was installed, didn't believe that it had only 1GB and opened up the box. And it really does have just two 512GB sticks in there.
I don't care too much. I'll just run tomcat and firefox and thunderbird on my other, faster, fatter laptop, and eclipse on the HP. I could run one instance of firefox here and not notice, probably. Particularly as I've switched to xfce4 and am liking it. But for now I'll keep firefox on the fatter laptop.
I doubt if I'll buy more RAM for this laptop. I just don't need it :-).
Of course this is in linux. There's a windows partition on there, but it's never used. I keep it on because it's a legal copy and it'd be a pain to have to reinstall it. As is too often the case these days, the laptop didn't come with the install CD. I think there's an image on the hard drive, but in typical Microsoft arrogance, that would blow away the whole hard drive, and then I'd have to install linux again and have it resize the windows partition again, etc. And I'm not sure about that image anyway.
So it's all been good and fast for the year and a half that we've had it. The CPU isn't very fast, but we only use it for browsing and email and the occasional web based program. Previously, only in PHP, so nothing that would stress the memory on the box.
I recently noticed though that with eclipse+tomcat+firefox3, the box was swapping. So I finally looked at what linux thought was installed, didn't believe that it had only 1GB and opened up the box. And it really does have just two 512GB sticks in there.
I don't care too much. I'll just run tomcat and firefox and thunderbird on my other, faster, fatter laptop, and eclipse on the HP. I could run one instance of firefox here and not notice, probably. Particularly as I've switched to xfce4 and am liking it. But for now I'll keep firefox on the fatter laptop.
I doubt if I'll buy more RAM for this laptop. I just don't need it :-).
Sunday, April 26, 2009
Upgrading to Jaunty
I upgraded my spare laptop to Jaunty the other day. That worked perfectly. But that laptop has mostly just the basic ubuntu installation and a few additional things (tomcat, sun-jdk, postgresql).
I'm upgrading my own main home-work laptop just now, keeping fingers crossed.
...
Well, it booted into the login screen, so that's more than half the battle right there. It got a bit confused, logging into xfce rather than gnome. It forgot what my default and previous session were, perhaps? But it's easy enough to get into gnome, and there's nothing obviously borken there.
It's a good thing that (since Intrepid I think, but maybe since Hardy) Ubuntu turns off third party repositories before doing a dist-upgrade. That borked a few things for me a few upgrades ago. Things have gotten much more stable with dist-upgrades in the last few versions.
I think I'll wait a bit before upgrading the last laptop. That's sol's main work machine (she works at home) and while she could work on my home-work laptop if her laptop gets borked during the upgrade, there's no need to do the upgrade immediately either.
WPA and network-manager aren't working right for me on my home-work laptop, but it wasn't working well previously either, so I run wpa_supplicant from a rc.local and in the background (&) and without the -B (running it with -B, even from the command line doesn't work and I can't tell why, thus the ugly workaround). Sol's laptop has wicd (at one point all these laptops had wicd, which works perfectly, except it's not so nice about having two interfaces up at the same time, and I use the spare and home-work laptops together with quicksynergy on eth0, so I need two interfaces for these).
I normally wouldn't dist-upgrade so eagerly (I'm happy to wait a few months before doing the dist-upgrade), but Jaunty has a fix for an irritating synergy bug in Intrepid that I've been waiting for (but not so eagerly that I'd pull the packages from the Jaunty pre-release versions and install :-).
On my home-work laptop I've probably got some old-bad network configuration that's confusing Network-Manager, I should fix it. But there's a huge gap between should and want-to right now, I'll stick with the workaround script until I have time to figure it out. Although, it'd probably be more efficient to just reinstall Ubuntu from scratch on this laptop :-) (/home is a separate partition, so I'd just need a backup of /etc so I can get to customizations (e.g., /etc/openvpn/*, /etc/wpa_supplicant/*, some entries in /etc/apache2 and /etc/tomcat5.5, etc).
Damn, eclipse is still 3.2 though. That sucks. I'll just have to stick with my downloaded 3.4 tarball installation then. Or get it from upstream and test it. But I don't have a lot of time for that, and I've got a working tarball 3.4 installation workaround. I'm only maintaining eclipse on 1 laptop and a desktop, so there's not enough maintenance headache/overhead to push me into figuring out how to get it from upstream :-).
I'm upgrading my own main home-work laptop just now, keeping fingers crossed.
...
Well, it booted into the login screen, so that's more than half the battle right there. It got a bit confused, logging into xfce rather than gnome. It forgot what my default and previous session were, perhaps? But it's easy enough to get into gnome, and there's nothing obviously borken there.
It's a good thing that (since Intrepid I think, but maybe since Hardy) Ubuntu turns off third party repositories before doing a dist-upgrade. That borked a few things for me a few upgrades ago. Things have gotten much more stable with dist-upgrades in the last few versions.
I think I'll wait a bit before upgrading the last laptop. That's sol's main work machine (she works at home) and while she could work on my home-work laptop if her laptop gets borked during the upgrade, there's no need to do the upgrade immediately either.
WPA and network-manager aren't working right for me on my home-work laptop, but it wasn't working well previously either, so I run wpa_supplicant from a rc.local and in the background (&) and without the -B (running it with -B, even from the command line doesn't work and I can't tell why, thus the ugly workaround). Sol's laptop has wicd (at one point all these laptops had wicd, which works perfectly, except it's not so nice about having two interfaces up at the same time, and I use the spare and home-work laptops together with quicksynergy on eth0, so I need two interfaces for these).
I normally wouldn't dist-upgrade so eagerly (I'm happy to wait a few months before doing the dist-upgrade), but Jaunty has a fix for an irritating synergy bug in Intrepid that I've been waiting for (but not so eagerly that I'd pull the packages from the Jaunty pre-release versions and install :-).
On my home-work laptop I've probably got some old-bad network configuration that's confusing Network-Manager, I should fix it. But there's a huge gap between should and want-to right now, I'll stick with the workaround script until I have time to figure it out. Although, it'd probably be more efficient to just reinstall Ubuntu from scratch on this laptop :-) (/home is a separate partition, so I'd just need a backup of /etc so I can get to customizations (e.g., /etc/openvpn/*, /etc/wpa_supplicant/*, some entries in /etc/apache2 and /etc/tomcat5.5, etc).
Damn, eclipse is still 3.2 though. That sucks. I'll just have to stick with my downloaded 3.4 tarball installation then. Or get it from upstream and test it. But I don't have a lot of time for that, and I've got a working tarball 3.4 installation workaround. I'm only maintaining eclipse on 1 laptop and a desktop, so there's not enough maintenance headache/overhead to push me into figuring out how to get it from upstream :-).
Sunday, April 12, 2009
Classic Mistakes Enumerated
Steve Mcconnell has a post on classic software development mistakes, enumerated.
From 1996, apparently. Which is why it seemed familiar :-).
From 1996, apparently. Which is why it seemed familiar :-).
Monday, January 19, 2009
intel/amd Hardware virtualization CPU capability
I've often wondered if a computer I'm using (a laptop, or my work desktop) has hardware virtualization support. There are quite a few sites that say "cat /proc/cpuinfo | grep flags and look to see if there are vmx or svm flags in there", e.g.
http://www.linuxtopia.org/HowToGuides/fedora_core_6_xen_quickstart/fedora_core_6_xen_virtualization_how_to_005.html
and
http://www.howtogeek.com/howto/linux/linux-tip-how-to-tell-if-your-processor-supports-vt/
Now I've done that and it's a pain because there are so many flags and they're not in an order that makes it easy to spot the relevant flags. So I did some sed:
cat /proc/cpuinfo | grep flags | sed "s/ /\\n/g" | egrep "(vmx|svm)"
which is more useful since it replaces spaces in the flags with newlines, so that we can then search for just the flags we need and not be confused by the pollution from all the other flags on the line.
Without the trailing egrep I get:
flags :
fpu
vme
de
pse
tsc
msr
pae
mce
cx8
apic
sep
mtrr
pge
mca
cmov
pat
clflush
dts
acpi
mmx
fxsr
sse
sse2
ss
ht
tm
pbe
nx
constant_tsc
arch_perfmon
bts
pni
monitor
vmx
est
tm2
xtpr
flags :
fpu
vme
de
pse
tsc
msr
pae
mce
cx8
apic
sep
mtrr
pge
mca
cmov
pat
clflush
dts
acpi
mmx
fxsr
sse
sse2
ss
ht
tm
pbe
nx
constant_tsc
arch_perfmon
bts
pni
monitor
vmx
est
tm2
xtpr
As it happens, although I *do* have vmx in there, I doubt if it's actually usable. I've got two laptops with vmx enabled, but I expect that the hardware virtualization is disabled in the BIOS, and there's no toggle in the CMOS settings to turn it on. But I'll try to install Xen anyway, and see if it can use the CPU hardware virtualization support :-).
It's too bad that those are my two slower laptops (2.2Ghz and 1.6Ghz). My fastest laptop (3.3Ghz) is the oldest and it definitely doesn't have vmx support in there at all. Ah well, maybe I'll just play with Xen and hardware virtualization on my AMD64 desktop at work.
http://www.linuxtopia.org/HowToGuides/fedora_core_6_xen_quickstart/fedora_core_6_xen_virtualization_how_to_005.html
and
http://www.howtogeek.com/howto/linux/linux-tip-how-to-tell-if-your-processor-supports-vt/
Now I've done that and it's a pain because there are so many flags and they're not in an order that makes it easy to spot the relevant flags. So I did some sed:
cat /proc/cpuinfo | grep flags | sed "s/ /\\n/g" | egrep "(vmx|svm)"
which is more useful since it replaces spaces in the flags with newlines, so that we can then search for just the flags we need and not be confused by the pollution from all the other flags on the line.
Without the trailing egrep I get:
flags :
fpu
vme
de
pse
tsc
msr
pae
mce
cx8
apic
sep
mtrr
pge
mca
cmov
pat
clflush
dts
acpi
mmx
fxsr
sse
sse2
ss
ht
tm
pbe
nx
constant_tsc
arch_perfmon
bts
pni
monitor
vmx
est
tm2
xtpr
flags :
fpu
vme
de
pse
tsc
msr
pae
mce
cx8
apic
sep
mtrr
pge
mca
cmov
pat
clflush
dts
acpi
mmx
fxsr
sse
sse2
ss
ht
tm
pbe
nx
constant_tsc
arch_perfmon
bts
pni
monitor
vmx
est
tm2
xtpr
As it happens, although I *do* have vmx in there, I doubt if it's actually usable. I've got two laptops with vmx enabled, but I expect that the hardware virtualization is disabled in the BIOS, and there's no toggle in the CMOS settings to turn it on. But I'll try to install Xen anyway, and see if it can use the CPU hardware virtualization support :-).
It's too bad that those are my two slower laptops (2.2Ghz and 1.6Ghz). My fastest laptop (3.3Ghz) is the oldest and it definitely doesn't have vmx support in there at all. Ah well, maybe I'll just play with Xen and hardware virtualization on my AMD64 desktop at work.
Sunday, January 11, 2009
vlc on intrepid, no video
I recently installed Ubuntu 8.10 (Intrepid) on laptops at home. I also installed vlc (well, on one computer vlc was already installed on Hardy and I just dist-upgraded). I would see no video but could hear sound. Some googling a week or so ago didn't help.
Today though I found this:
cannot play any video (SOLVED) on the videolan forums.
That solved the problem perfectly. The solution being, at the command line, to run:
Linked to here so that its google karma will rise (not that it needs it, since it's already the first result :-).
Today though I found this:
cannot play any video (SOLVED) on the videolan forums.
That solved the problem perfectly. The solution being, at the command line, to run:
vlc --reset-plugins-cache --reset-config
Linked to here so that its google karma will rise (not that it needs it, since it's already the first result :-).
Friday, January 09, 2009
xchat and DSL router woes
I've had some problems with xchat when working at home. This is on Ubuntu 8.10 (Intrepid).
I lurk on irc.freenode.net's #erlang channel (sometimes I ask embarrassingly newbie questions).
The first issue (backwards from the title) is that my home DSL router (provided by my ISP) is crap (but I don't replace it because it's free). The DSL-604T has some sort of issue with some ip_conntrack settings being too low, so that when it receives too many incoming connections at the same time or within a short amount of time (e.g., when running a peer-to-peer client, or when in the #erlang channel, apparently, although I don't understand why that is) then the router hangs and I need to power-cycle it.
There are firmware upgrades for this model, but I can't upgrade the firmware since it might then stop working with my ISP (the ISP has custom firmware in there).
This isn't even about running peer-to-peer, it's about an IRC channel about a programming language!
So I solved that by setting up screen to open an ssh session (at screen #9) to do an auto-port-forward to my work computer. ssh -L 8001:irc.freenode.net:8001 my_work_computer. Then I just have xchat connect to localhost:8001. It's simpler than figuring out how to NAT requests to port 8001 through my work computer and cheaper on bandwidth than running xchat in vnc at work (my ISPs bandwidth caps have increased by a factor of 3 since i first whined about the caps, but I still hit the limit before the end of the month).
So then I remembered that xchat on ubuntu sucks because there's no graphical way to turn off join and parts messages. And on a channel with a lot of lurkers (like #erlang), there are a lot of those.
A quick google search shows that the thing to do is
And I can have that done automatically by:
Xchat|Network List|Select Network|Edit
and setting the Connect command to "/set irc_conf_mode 1".
It'd be nice if it were settable in the graphical interface, but
since it isn't, this is a neat workaround.
I lurk on irc.freenode.net's #erlang channel (sometimes I ask embarrassingly newbie questions).
The first issue (backwards from the title) is that my home DSL router (provided by my ISP) is crap (but I don't replace it because it's free). The DSL-604T has some sort of issue with some ip_conntrack settings being too low, so that when it receives too many incoming connections at the same time or within a short amount of time (e.g., when running a peer-to-peer client, or when in the #erlang channel, apparently, although I don't understand why that is) then the router hangs and I need to power-cycle it.
There are firmware upgrades for this model, but I can't upgrade the firmware since it might then stop working with my ISP (the ISP has custom firmware in there).
This isn't even about running peer-to-peer, it's about an IRC channel about a programming language!
So I solved that by setting up screen to open an ssh session (at screen #9) to do an auto-port-forward to my work computer. ssh -L 8001:irc.freenode.net:8001 my_work_computer. Then I just have xchat connect to localhost:8001. It's simpler than figuring out how to NAT requests to port 8001 through my work computer and cheaper on bandwidth than running xchat in vnc at work (my ISPs bandwidth caps have increased by a factor of 3 since i first whined about the caps, but I still hit the limit before the end of the month).
So then I remembered that xchat on ubuntu sucks because there's no graphical way to turn off join and parts messages. And on a channel with a lot of lurkers (like #erlang), there are a lot of those.
A quick google search shows that the thing to do is
/set irc_conf_mode 1And I can have that done automatically by:
Xchat|Network List|Select Network|Edit
and setting the Connect command to "/set irc_conf_mode 1".
It'd be nice if it were settable in the graphical interface, but
since it isn't, this is a neat workaround.
Saturday, January 03, 2009
Toshiba Satellite A75-S231 bios password clearing
I've had a heck of a time trying to get a Toshiba Satellite A75-S231 working well with Linux. I first received this laptop (secondhand) around 2006, I think. I couldn't use it productively in Ubuntu (I think I might have checked some other distros, certainly I checked Knoppix too) back then. Whenever I would do something compute intensive it would shut down. It seems the kernel wasn't controlling the fans and it was overheating and the BIOS would turn it off.
I could sort of limp along and use it if I set the cpu scaling to its lowest speed. But that was still 1.8Ghz (no 800Mhz speeds on this CPU). And even at 1.8Ghz, if I did anything challenging that would use 100% cpu for a few minutes, it would shut down.
So I gave up. For a while I lent the laptop to someone who used XP on it, and after that it was stored in its laptop case for a year or so.
Well this year we moved to New Zealand, and since my sister-in-law was coming over, and I'd forgotten what the myriad issues with the laptop had been, I asked her to bring it with her.
I tried to install Solaris 10 on the ubuntu partition. That didn't end well. I'll try it again, but it looks like Solaris 10 probably doesn't know how to run the fans either. I then installed Ubuntu 8.10 (Intrepid). That installed and it didn't hang. It looks like linux got the fan working sometime between Feisty (I think) and Intrepid.
I had another problem with the laptop. I had received it with the bios security password set and my brother, who gave me the laptop, didn't remember what the password was. Back when the laptop was shutting down due to power, I'd thought that if I could get into the CMOS setup, I could find a setting so that the fan would always run if it was on AC power. But first I had to get into the BIOS.
Well, this year, with Intrepid working on it, the urgency of getting into the BIOS receded. I still wanted to clear the passwords though. After a lot of searching, I finally found:
Toshiba Laptop password deletion
On page 8 that shows the jumper to short to clear the BIOS password. So finally I can get into the CMOS setup. As it happens, there's no "keep-the-fan-on-all-the-time" setting. As with many (all?) laptop BIOSes, it's pretty minimal. I can't even set how much RAM is shared by the video subsystem. It's good to finally be able to see what's in there though (and set the boot order of the drives, fortunately, previously the boot order had CD-DVD-Rom first, which allowed me to install Linux in the first place).
This laptop still has other problems. I've never liked how insensitive the Alps glidepoint touchpad is, and the keyboard is pretty weak (there's no right Ctrl key, and I always use right Ctrl instead of Left Ctrl, the ~` key is beside the space bar, which is stupid). But that's the case with all laptop keyboards anyway, compromises are made and they all suck. I can deal with the keyboard though, mostly. And if I can't stand it anymore, I've got a cheap external keyboard I can use with it. I still hate the touchpad, but some tweaking of gnome mouse settings has the mouse being tolerable. I'll probably still buy an external mouse and use that though. The laptop is big enough (and I'm switching to it because I like the widescreen) that it's really a desktop replacement. For travelling, we'll bring sol's much lighter (and still widescreen) HP Pavilion.
As long as I'm going to use an external keyboard/mouse, I'd love to have this Adesso keyboard with built-in touchpad (well, assuming the touchpad is any good, but it probably is, most touchpads are, the -one in the Satellite A75-S231 I've got is just bad, not sure if it's bad for all instances of that model, or if I've just got a dud). I can't find that keyboard in New Zealand though, and frankly, I won't spend that much for a keyboard+mouse. I'll just grab a cheap external mouse.
I'll keep my other laptop (a Durabook) for a spare. Or probably for Solaris (not that I need Solaris, but I might as well play with it and get familiar with it, I'm sure I'll use it since the big client my department does software development and management for is big on enterprise everything).
I could sort of limp along and use it if I set the cpu scaling to its lowest speed. But that was still 1.8Ghz (no 800Mhz speeds on this CPU). And even at 1.8Ghz, if I did anything challenging that would use 100% cpu for a few minutes, it would shut down.
So I gave up. For a while I lent the laptop to someone who used XP on it, and after that it was stored in its laptop case for a year or so.
Well this year we moved to New Zealand, and since my sister-in-law was coming over, and I'd forgotten what the myriad issues with the laptop had been, I asked her to bring it with her.
I tried to install Solaris 10 on the ubuntu partition. That didn't end well. I'll try it again, but it looks like Solaris 10 probably doesn't know how to run the fans either. I then installed Ubuntu 8.10 (Intrepid). That installed and it didn't hang. It looks like linux got the fan working sometime between Feisty (I think) and Intrepid.
I had another problem with the laptop. I had received it with the bios security password set and my brother, who gave me the laptop, didn't remember what the password was. Back when the laptop was shutting down due to power, I'd thought that if I could get into the CMOS setup, I could find a setting so that the fan would always run if it was on AC power. But first I had to get into the BIOS.
Well, this year, with Intrepid working on it, the urgency of getting into the BIOS receded. I still wanted to clear the passwords though. After a lot of searching, I finally found:
Toshiba Laptop password deletion
On page 8 that shows the jumper to short to clear the BIOS password. So finally I can get into the CMOS setup. As it happens, there's no "keep-the-fan-on-all-the-time" setting. As with many (all?) laptop BIOSes, it's pretty minimal. I can't even set how much RAM is shared by the video subsystem. It's good to finally be able to see what's in there though (and set the boot order of the drives, fortunately, previously the boot order had CD-DVD-Rom first, which allowed me to install Linux in the first place).
This laptop still has other problems. I've never liked how insensitive the Alps glidepoint touchpad is, and the keyboard is pretty weak (there's no right Ctrl key, and I always use right Ctrl instead of Left Ctrl, the ~` key is beside the space bar, which is stupid). But that's the case with all laptop keyboards anyway, compromises are made and they all suck. I can deal with the keyboard though, mostly. And if I can't stand it anymore, I've got a cheap external keyboard I can use with it. I still hate the touchpad, but some tweaking of gnome mouse settings has the mouse being tolerable. I'll probably still buy an external mouse and use that though. The laptop is big enough (and I'm switching to it because I like the widescreen) that it's really a desktop replacement. For travelling, we'll bring sol's much lighter (and still widescreen) HP Pavilion.
As long as I'm going to use an external keyboard/mouse, I'd love to have this Adesso keyboard with built-in touchpad (well, assuming the touchpad is any good, but it probably is, most touchpads are, the -one in the Satellite A75-S231 I've got is just bad, not sure if it's bad for all instances of that model, or if I've just got a dud). I can't find that keyboard in New Zealand though, and frankly, I won't spend that much for a keyboard+mouse. I'll just grab a cheap external mouse.
I'll keep my other laptop (a Durabook) for a spare. Or probably for Solaris (not that I need Solaris, but I might as well play with it and get familiar with it, I'm sure I'll use it since the big client my department does software development and management for is big on enterprise everything).
Wednesday, December 24, 2008
Photobucket bulk uploader applet now works in Ubuntu
It's probably been close to a year, or a bit more than that, since I gave up on the Photobucket java bulk uploader. Back then, the applet worked in Windows but photobucket didn't care enough to make it work on Linux (there were forum posts about how it didn't work on non-Windows boxes).
I did upload some files from either my wife's windows partition (which we keep for legacy devices that work only in Windows, e.g., a Sony NW-HD1 that was given to us and that doesn't seem to have any linux support at all). I remember using windows under vmware to test the bulk uploader too.
I recently upgraded to Ubuntu 8.10 (Intrepid) and I'm glad to report that the bulk uploader now works with the Sun Java 1.6 JVM. I don't have 1.5 installed just now, so I don't know if it'll work with that. But I'm glad that I've finally got a working setup.
I did upload some files from either my wife's windows partition (which we keep for legacy devices that work only in Windows, e.g., a Sony NW-HD1 that was given to us and that doesn't seem to have any linux support at all). I remember using windows under vmware to test the bulk uploader too.
I recently upgraded to Ubuntu 8.10 (Intrepid) and I'm glad to report that the bulk uploader now works with the Sun Java 1.6 JVM. I don't have 1.5 installed just now, so I don't know if it'll work with that. But I'm glad that I've finally got a working setup.
Friday, July 04, 2008
svn:externals and git
A previous post has a comment from Jakub Narebski pointing me at git submodules. A quick google points me at: Andy Parkins' post on git submodules and svn:externals on kerneltrap.
That's cool. And if the anyone on my subversion using team ever uses svn:externals I'll be glad of the workaround. I hope, though, that git-svn support for svn:externals will mature before then :-).
I'm very happy with how flexible and powerful git is, and how I'm able to work on our svn repository while taking advantage of git capabilities that aren't in svn or are very painful to use. But I'm drowning quite well in java and erlang just now, and I'm not going to be able to spend time figuring out git nuances. Much better to sit around minding my own business while the product matures :-).
That's cool. And if the anyone on my subversion using team ever uses svn:externals I'll be glad of the workaround. I hope, though, that git-svn support for svn:externals will mature before then :-).
I'm very happy with how flexible and powerful git is, and how I'm able to work on our svn repository while taking advantage of git capabilities that aren't in svn or are very painful to use. But I'm drowning quite well in java and erlang just now, and I'm not going to be able to spend time figuring out git nuances. Much better to sit around minding my own business while the product matures :-).
Wednesday, June 25, 2008
git-log --name-status
I've been using git for the past month (I just realized that today was my first whole month at work) and I'm very happy with it. I'm used to svn (and before that, CVS) and I'd gotten around the ugly (so much so that I never used the version discussed in the subversion book for versions below 1.5) merging in svn by using svnmerge (which, while not making merging painless, did make it sufficiently less painful that it was actually usable).
For a long time I looked at git but never actually dived in head first since casual acquaintance with git made me feel dumb. Now that I've been using it for a month though (well, with git-svn, since my current project uses svn), I'm getting used to it, I've got the basic workflow down and I'm slowly learning more advanced workflows.
For a long time too I didn't like git because I thought it didn't have an equivalent to "svn log -v", that is, show the revision number, author, message, and the affected files. git-log showed the first three, but not the last. I was probably looking at an early version of git though, this would have been in 2006 or so. Sometime in revision 1.4, git-log got --name-status, but I didn't notice. Anyway, it required -r if you wanted to see recursive changes. 1.5 has better behavior now. --name-status shows filenames and what was done to them (deleted, added, modified, etc), and the -r is implied.
There are still some things I'm not clear on (e.g., how to do the equivalent of svn:externals, which is probably a SMORTD, a simple matter of reading the documentation). But given that the main VCS at work is SVN, how to work with svn:externals with git and git-svn :-).
I'll get there though. Although it may take a while since, in fact, we don't use svn:externals or similar in our current projects (in fact, the reason I decided to use git and git-svn was because we don't have the regular trunk and branches structure either, and being the new guy, I didn't want to be creating a test branch for myself at the root of the svn tree :-).
In any case, git-reset and friends (i haven't tried the --interactive options to git-commit or git-rebase and friends yet, but I will, one of these days) are great helps and because of their (admittedly, simple) enhancements to my workflow, I'm not going to be switching back to pure svn.
Our project isn't so large that the git vs svn speed difference is a factor, but I have (at a previous job) worked with sufficiently large trees and branches that the speed of git would have been a huge help. On the other hand, as smart as my co-workers were, at that job, I think that pushing git into the organization would have been too big a challenge in the time I had. svn was certainly the better choice there (since svnmerge was available, before I learned svnmerge, I spent far too much time hand-merging between branches).
For a long time I looked at git but never actually dived in head first since casual acquaintance with git made me feel dumb. Now that I've been using it for a month though (well, with git-svn, since my current project uses svn), I'm getting used to it, I've got the basic workflow down and I'm slowly learning more advanced workflows.
For a long time too I didn't like git because I thought it didn't have an equivalent to "svn log -v", that is, show the revision number, author, message, and the affected files. git-log showed the first three, but not the last. I was probably looking at an early version of git though, this would have been in 2006 or so. Sometime in revision 1.4, git-log got --name-status, but I didn't notice. Anyway, it required -r if you wanted to see recursive changes. 1.5 has better behavior now. --name-status shows filenames and what was done to them (deleted, added, modified, etc), and the -r is implied.
There are still some things I'm not clear on (e.g., how to do the equivalent of svn:externals, which is probably a SMORTD, a simple matter of reading the documentation). But given that the main VCS at work is SVN, how to work with svn:externals with git and git-svn :-).
I'll get there though. Although it may take a while since, in fact, we don't use svn:externals or similar in our current projects (in fact, the reason I decided to use git and git-svn was because we don't have the regular trunk and branches structure either, and being the new guy, I didn't want to be creating a test branch for myself at the root of the svn tree :-).
In any case, git-reset and friends (i haven't tried the --interactive options to git-commit or git-rebase and friends yet, but I will, one of these days) are great helps and because of their (admittedly, simple) enhancements to my workflow, I'm not going to be switching back to pure svn.
Our project isn't so large that the git vs svn speed difference is a factor, but I have (at a previous job) worked with sufficiently large trees and branches that the speed of git would have been a huge help. On the other hand, as smart as my co-workers were, at that job, I think that pushing git into the organization would have been too big a challenge in the time I had. svn was certainly the better choice there (since svnmerge was available, before I learned svnmerge, I spent far too much time hand-merging between branches).
Sunday, June 08, 2008
Recovering, not so gracefully
My laptop's DVD-RW drive stopped working a month or two ago. I didn't mind much since it's not essential. I can always use my wife's laptop when we have DVDs for our son to watch. I ordered Ubuntu Hardy desktop and server CDs via shipit and I got those a few weeks ago. I did want to install Hardy, but it wasn't a big deal, so I waited until I could figure out how safely.
The only thing I really *needed* the DVD drive for was for booting rescue DVDs. I didn't want to try to do an online Hardy upgrade if I couldn't go into a rescue DVD if something broke and the laptop couldn't reboot (that's happened to me once or twice, on doing an online update).
I downloaded the RIPLinux iso and installed it to my USB flash drive. I thought I could use that for rescue. Unfortunately, when I tried to do some grub surgery on my laptop, I made it unbootable. Mainly, because I'm not intimately familiar with grub (I'm a lilo man, myself, and the only thing I really dislike about Ubuntu is that it's inherently grub-centric), but also because it thought my hard drive was at /dev/hdc but Ubuntu sees it at /dev/sda. I couldn't fix that either since RIPLinux would boot and assign the flash drive it was booting from to /dev/sda.
Fortunately, when I went to Pendrive Linux and saw a tutorial on how to install Hardy onto a USB drive FROM the ISO. The recipe there worked flawlessly and I've now got a flash drive that is an Ubuntu Hardy installer as well as a live Linux. If I go to an internet cafe, or someone else's computer, I can use it and not worry about the viruses they've got running around in their Windows installation.
So I've got Hardy installed now. I'll bring the laptop to work tomorrow, update, and install all the development packages I need that aren't on the default Desktop install. I work at Catalyst IT Limited. Online updates and apt-get are very fast at work since Catalyst hosts the New Zealand mirrors for Ubuntu and Debian (and a bunch of other distributions).
Next, I need to figure out how to install OpenSolaris from some device other than the install CD :-).
The only thing I really *needed* the DVD drive for was for booting rescue DVDs. I didn't want to try to do an online Hardy upgrade if I couldn't go into a rescue DVD if something broke and the laptop couldn't reboot (that's happened to me once or twice, on doing an online update).
I downloaded the RIPLinux iso and installed it to my USB flash drive. I thought I could use that for rescue. Unfortunately, when I tried to do some grub surgery on my laptop, I made it unbootable. Mainly, because I'm not intimately familiar with grub (I'm a lilo man, myself, and the only thing I really dislike about Ubuntu is that it's inherently grub-centric), but also because it thought my hard drive was at /dev/hdc but Ubuntu sees it at /dev/sda. I couldn't fix that either since RIPLinux would boot and assign the flash drive it was booting from to /dev/sda.
Fortunately, when I went to Pendrive Linux and saw a tutorial on how to install Hardy onto a USB drive FROM the ISO. The recipe there worked flawlessly and I've now got a flash drive that is an Ubuntu Hardy installer as well as a live Linux. If I go to an internet cafe, or someone else's computer, I can use it and not worry about the viruses they've got running around in their Windows installation.
So I've got Hardy installed now. I'll bring the laptop to work tomorrow, update, and install all the development packages I need that aren't on the default Desktop install. I work at Catalyst IT Limited. Online updates and apt-get are very fast at work since Catalyst hosts the New Zealand mirrors for Ubuntu and Debian (and a bunch of other distributions).
Next, I need to figure out how to install OpenSolaris from some device other than the install CD :-).
Saturday, May 31, 2008
Java and Erlang
I just got through my first week at work. It's a great environment, lots of geeks around. My primary project is in java, and I'm taking some time to re-acclimate. I'd avoided java in the last 5-7 years or so because I thought it had gotten over-complex. I have now just jumped into the deep end :-). I'll survive, of course, and maybe even learn something. As to whether what I'll learn is going to be worth the trouble, I'm not sure. It probably will be. Although it's going to be painful for a few months.
My secondary project is to be the backup (or go-to, I'm not very clear on that yet) guy on a project that was done in erlang. I've been interested in learning erlang, so I'm certainly interested in doing the project. On the other hand, the guy who implemented it (and who has since left the company for a job in Paris) gave me an introduction to the system and it was overwhelming.
I've just jumped into the deep end twice. I'm going to be gasping for air for a while.
My secondary project is to be the backup (or go-to, I'm not very clear on that yet) guy on a project that was done in erlang. I've been interested in learning erlang, so I'm certainly interested in doing the project. On the other hand, the guy who implemented it (and who has since left the company for a job in Paris) gave me an introduction to the system and it was overwhelming.
I've just jumped into the deep end twice. I'm going to be gasping for air for a while.
Friday, May 23, 2008
Tom Lane pics
I've always wondered what Tom Lane looks like. He's a great presence on the postgresql mailing lists, always informative, always polite and knows incredible amounts of postgresql implementation details.
Now there are pics of Tom Lane from PGCon2
Ehem, apparently a Mac user :-). I'm not going to be swayed to switch to Mac just because Tom uses one. Well, maybe a little. But not enough to buy one :-).
Now there are pics of Tom Lane from PGCon2
Ehem, apparently a Mac user :-). I'm not going to be swayed to switch to Mac just because Tom uses one. Well, maybe a little. But not enough to buy one :-).
Friday, May 16, 2008
Java
I just got an offer of employment at New Zealand's largest open source oriented company. I'm looking forward to working with 80+ geeks. I'm going to be working in Java though, with some PHP. I've worked with java a lot in the past, but I'm not up-to-date on the latest developments. As it happens, I've been told that most of the code is still 1.4. That's a mixed blessing. Some things in 1.5 and later are nice, but a lot else is horrible. Still, I'm going to miss autoboxing.
I've got a week to learn some basic things. I'm going to see how much of Java, Tomcat and Spring I can learn in 9 days or so :-)
I've got a week to learn some basic things. I'm going to see how much of Java, Tomcat and Spring I can learn in 9 days or so :-)
Friday, May 09, 2008
Nontechnical, but must-post
OK, there have been a whole slew of articles about recent discoveries regarding platypus genes. I didn't post about them because it was enough that I read about them (frankly, I only read one of those links, I only searched for the other links so that I could have a whole slew of links here :-).
I finally broke down and posted about the discoveries though because, after all, who can resist a headline like this?
Platypus Genes Hint at Human Scrotum Origins
Of course, Pharyngula on this whole thing is better. The original study would be even better, but I am avoiding embarrassment by ignorance, and also sleep by boredom, so I'm not reading that :-).
I finally broke down and posted about the discoveries though because, after all, who can resist a headline like this?
Of course, Pharyngula on this whole thing is better. The original study would be even better, but I am avoiding embarrassment by ignorance, and also sleep by boredom, so I'm not reading that :-).
Thursday, May 08, 2008
GW Bush: Impeach, Prosecute, Convict, Execute
I've got "Impeach, Prosecute, Convict, Execute" in my email sig, in reference to that Abject and Miserable Failure, George W Bush.
I'm taking that part off temporarily though, since I'm sending out job applications. No need to ruffle the feathers of any strongly anti-death-sentence hiring managers out there :-).
I had also taken off URLs for this blog and my other me since someone pointed to a spamhaus post that indicated it might be used by yahoo.com (and related properties) as an indicator of spam. In fact, I added the impeach, prosecute, convict, execute text because I had removed the blog links and wanted something to take their place :-).
Well, when I stop emailing job applications, I'll put something back in the sig.
I'm taking that part off temporarily though, since I'm sending out job applications. No need to ruffle the feathers of any strongly anti-death-sentence hiring managers out there :-).
I had also taken off URLs for this blog and my other me since someone pointed to a spamhaus post that indicated it might be used by yahoo.com (and related properties) as an indicator of spam. In fact, I added the impeach, prosecute, convict, execute text because I had removed the blog links and wanted something to take their place :-).
Well, when I stop emailing job applications, I'll put something back in the sig.
Wednesday, May 07, 2008
Finally, Debian on NSLU2
I won a linksys NSLU2 at a TradeMe auction last month.
I couldn't get it running immediately since the power supply that came with it wasn't the right one. The seller had bought it in Australia and I think he got a unit where the power supply had been switched (maybe it was a U.S. unit and the australian seller replaced the power supply since the outlet jacks are different). In any case, Phil (the seller from whom I was buying), didn't know the power supply didn't work since he never got around to turning it on.
It took a while to get in contact with him (yahoo was filtering my outgoing email to Phil, considering it spam for some reason, probably because of some text on my sig). After some back and forth we finally sorted it out and, he sent a replacement power supply, we had to have that replaced again because the jack was the wrogn size too, and we finally got the right power supply and I got it working today.
I immediately installed Debian on it. That does take a while to install since the CPU is pretty slow, so I guess unpacking, installing and generating cryptographic keys and such take a while. I'm going to de-underclock the NSLU2 one of these days. Apparently, the CPU in there is forced down to half its speed. I can remove a resistor and double the speed. On the other hand, I'll take my time since I have a history of breaking hardware :-). Best to take my time and do things right :-).
I had planned to have it boot from one of my 60GB external USB drives, but there was a problem with that. It thought the drive had bad sectors. It didn't though, I ran badblocks on it (well, actually, mkfs.ext3 -c -c) and there are no media errors. Maybe it's just the low quality drive enclosure making the drive seem marginal. I just installed debian on a flash drive and then (with some work with fdisk, mkfs, mkswap, etc) copied the flash data to the external hard drive. The Slug is now booting from the 60GB drive, after those gymnastics.
I've got a self-powered Maxtor hard drive enclosure with two full size (3.5") drives in there. I'll use that as my secondary drive for the NSLU2. I used a power meter to measure power draw by my laptop, by the NSLU2+USB laptop drive, and by the Maxtor drive, and the Maxtor drive takes so much power I don't want it to be on all day :-). The NSLU2 with one external laptop drive only draws between 7 and 11 watts. That's very nice. The Maxtor enclosure, by itself, draws 26 watts even when there's no activity. That's not so cool since my laptop draws less than that at low CPU speed, and only around 48 watts at high CPU speed with the CPU fully loaded.
I've got just a basic install on the SLUG for now (well, I installed build-essentials, although there's not much profit from building from source on a 133Mhz CPU :-). I'll build it up slowly, probably installing an openvpn server (I've got openvpn on my laptops now, and firewall rules on the router to let openvpn through) and possibly moving my postfix+dovecot+fetchmail+ypops+bogofilter+spamassassin setup to the SLUG.
My thanks to ian sison for pointing me at the NSLU2. He told me about it maybe a year ago, but my wife and I were in the midst of preparations to immigrate to New Zealand, so I didn't try to buy one then. I've had a few months at home, taking care of Timmy and after losing one or two trademe auctions on an NSLU2, I've got one now :-).
I'd love to upgrade the memory on this NSLU2 too, but I can't do it, so I'll need to see if I get to know anyone with the requisite soldering skills :-).
I couldn't get it running immediately since the power supply that came with it wasn't the right one. The seller had bought it in Australia and I think he got a unit where the power supply had been switched (maybe it was a U.S. unit and the australian seller replaced the power supply since the outlet jacks are different). In any case, Phil (the seller from whom I was buying), didn't know the power supply didn't work since he never got around to turning it on.
It took a while to get in contact with him (yahoo was filtering my outgoing email to Phil, considering it spam for some reason, probably because of some text on my sig). After some back and forth we finally sorted it out and, he sent a replacement power supply, we had to have that replaced again because the jack was the wrogn size too, and we finally got the right power supply and I got it working today.
I immediately installed Debian on it. That does take a while to install since the CPU is pretty slow, so I guess unpacking, installing and generating cryptographic keys and such take a while. I'm going to de-underclock the NSLU2 one of these days. Apparently, the CPU in there is forced down to half its speed. I can remove a resistor and double the speed. On the other hand, I'll take my time since I have a history of breaking hardware :-). Best to take my time and do things right :-).
I had planned to have it boot from one of my 60GB external USB drives, but there was a problem with that. It thought the drive had bad sectors. It didn't though, I ran badblocks on it (well, actually, mkfs.ext3 -c -c) and there are no media errors. Maybe it's just the low quality drive enclosure making the drive seem marginal. I just installed debian on a flash drive and then (with some work with fdisk, mkfs, mkswap, etc) copied the flash data to the external hard drive. The Slug is now booting from the 60GB drive, after those gymnastics.
I've got a self-powered Maxtor hard drive enclosure with two full size (3.5") drives in there. I'll use that as my secondary drive for the NSLU2. I used a power meter to measure power draw by my laptop, by the NSLU2+USB laptop drive, and by the Maxtor drive, and the Maxtor drive takes so much power I don't want it to be on all day :-). The NSLU2 with one external laptop drive only draws between 7 and 11 watts. That's very nice. The Maxtor enclosure, by itself, draws 26 watts even when there's no activity. That's not so cool since my laptop draws less than that at low CPU speed, and only around 48 watts at high CPU speed with the CPU fully loaded.
I've got just a basic install on the SLUG for now (well, I installed build-essentials, although there's not much profit from building from source on a 133Mhz CPU :-). I'll build it up slowly, probably installing an openvpn server (I've got openvpn on my laptops now, and firewall rules on the router to let openvpn through) and possibly moving my postfix+dovecot+fetchmail+ypops+bogofilter+spamassassin setup to the SLUG.
My thanks to ian sison for pointing me at the NSLU2. He told me about it maybe a year ago, but my wife and I were in the midst of preparations to immigrate to New Zealand, so I didn't try to buy one then. I've had a few months at home, taking care of Timmy and after losing one or two trademe auctions on an NSLU2, I've got one now :-).
I'd love to upgrade the memory on this NSLU2 too, but I can't do it, so I'll need to see if I get to know anyone with the requisite soldering skills :-).
Thursday, April 17, 2008
regionset is cool, thanks Cedric
I've moved to New Zealand with my family and after a few weeks getting all set up, I went to the library and got a library card. I then borrowed some children's DVDs for my son to watch occasionally.
I found, though, that I couldn't use them on my laptop. Fortunately, we left the original windows on my wife's laptop (but dual-booting to linux, which she uses almost exclusively). I found that I could play the DVDs there.
After two weeks of messing around with this I finally posted a question on the Philippine Linux Users Group mailing list and got exactly the answer I needed (this answer probably also helping dido sevilla, who had the exact same problem). It seems my DVD drive has a region setting hardcoded into it somewhere. If playing a DVD with a different region setting, it's necessary to change the hardcoded region. Unfortunately, there's a small number of changes available. Beyond that, I suppose it won't change anymore. Fortunately I didn't bring any US region DVDs with me, so I won't have to worry about having one laptop be for US DVDs and another laptop be for NZ DVDs :-).
sudo apt-get install regionset
sudo regionset
and then choose the region (4, for Australia, New Zealand).
I found, though, that I couldn't use them on my laptop. Fortunately, we left the original windows on my wife's laptop (but dual-booting to linux, which she uses almost exclusively). I found that I could play the DVDs there.
After two weeks of messing around with this I finally posted a question on the Philippine Linux Users Group mailing list and got exactly the answer I needed (this answer probably also helping dido sevilla, who had the exact same problem). It seems my DVD drive has a region setting hardcoded into it somewhere. If playing a DVD with a different region setting, it's necessary to change the hardcoded region. Unfortunately, there's a small number of changes available. Beyond that, I suppose it won't change anymore. Fortunately I didn't bring any US region DVDs with me, so I won't have to worry about having one laptop be for US DVDs and another laptop be for NZ DVDs :-).
sudo apt-get install regionset
sudo regionset
and then choose the region (4, for Australia, New Zealand).
For Phil Wynn
Hi Phil,
I've emailed you but I see no reply. Possibly an anti-spam filter is eating things, so I'll post the text of my reply to you here and send you an innocuous email with the link.
---- message follows ---
Re: Trade Me Auction: 148561162 -- Linksys NSLU2 Network Attached Storage (NAS)
From: Gerald Quimpo
To: "Phil Wynn"
Hi Phil,
On Monday 14 April 2008 13:16:36 you wrote:
> Just checking, did you receive the parcel?
Yes I did. I also emailed you, but possibly that got lost (or eaten by a spam
filter) or something.
here's what I said then:
>>>>
>>>>On Wednesday 09 April 2008 07:59:15 you wrote:
> If you dont receive the package within a couple of days, please let me
> know.
I received it the other day. Didn't get around to looking at it til
just now.
Did you get this working at all? Where did you buy it? I've been trying
to get the power jack in and it won't go in. It's not that it's too tight,
it doesn't even seem to be the right size (although it *looks* right,
it won't go in at all though, even when I exert some force).
Do you have the receipt from when you bought it? Might need to
have it repaired or the power pack replaced.
<<<<<
oh, and I signed it "tiger", which is my nickname, but possibly why you
might have ignored it :-).
by the way, i think i'm mistaken about the jack being the wrogn
size. instead, the inner part of the power conection (the part in the
NSLU2 seems not to be a regular cylinder. instead, most of it
is a cylinder but part of it seems to have some metal protruding
or welded on so that the power cable can't mate with it. but i'm
not really very sure about all this, weak eyes and i have no
magnifying glass available.
Gerald
---- message ends ----
I've emailed you but I see no reply. Possibly an anti-spam filter is eating things, so I'll post the text of my reply to you here and send you an innocuous email with the link.
---- message follows ---
Re: Trade Me Auction: 148561162 -- Linksys NSLU2 Network Attached Storage (NAS)
From: Gerald Quimpo
To: "Phil Wynn"
Hi Phil,
On Monday 14 April 2008 13:16:36 you wrote:
> Just checking, did you receive the parcel?
Yes I did. I also emailed you, but possibly that got lost (or eaten by a spam
filter) or something.
here's what I said then:
>>>>
>>>>On Wednesday 09 April 2008 07:59:15 you wrote:
> If you dont receive the package within a couple of days, please let me
> know.
I received it the other day. Didn't get around to looking at it til
just now.
Did you get this working at all? Where did you buy it? I've been trying
to get the power jack in and it won't go in. It's not that it's too tight,
it doesn't even seem to be the right size (although it *looks* right,
it won't go in at all though, even when I exert some force).
Do you have the receipt from when you bought it? Might need to
have it repaired or the power pack replaced.
<<<<<
oh, and I signed it "tiger", which is my nickname, but possibly why you
might have ignored it :-).
by the way, i think i'm mistaken about the jack being the wrogn
size. instead, the inner part of the power conection (the part in the
NSLU2 seems not to be a regular cylinder. instead, most of it
is a cylinder but part of it seems to have some metal protruding
or welded on so that the power cable can't mate with it. but i'm
not really very sure about all this, weak eyes and i have no
magnifying glass available.
Gerald
---- message ends ----
Friday, March 28, 2008
Switching to Kmail
I've used Gnome Evolution for many years. I've looked at various email clients over the years (sylpheed, kmail, thunderbird, and very long ago, pine, mutt, elm and mail) and Evolution had the right mix of features that I needed.
Mainly, I stuck with Evolution because it has realtime-updated search folders. That is, it's possible to create a virtual "Folder" that is actually a search into other real folders, with logical criteria. It's like a view in SQL.
I used that for having an "Everything" folder, which was a view into all emails in all real folders (because I cut my email apart into many folders, for easier management, and so that I don't have a single large Inbox with 50,000+ emails in it). I also used it for showing unread email for some very voluminous mailing lists. In evolution, it's not convenient to find the next unread message (well, I never spent the time to find the keyboard shortcut for that, although there probably is one). So I just created search folders that showed only unread messages.
An upgrade to ubuntu gutsy's Evolution has left evolution slightly unstable though. Evolution would crash for no reason, or it would crash because, just after starting it, while it was fetching mail, I would click on the fetch mail icon and it would get confused. Evolution also feels like it's not being maintained. That's no big deal since it's already pretty complete, but I've been seeing it get unstable as crash bugs aren't fixed while some new features get in. So I decided I needed to switch to some other mailer.
I looked at Kmail and Thunderbird. Sylpheed-claws doesn't install cleanly as a package in Gutsy (or in my config, anyway), so I just ignored that.
Kmail has pretty much all the features I needed (and some I wanted):
1. Choice of maildir or mbox (I tested maildir last night on reiserfs and xfs,
I expected reiserfs to be much faster than xfs. Was very surprised to see
xfs (1.5 minutes) beat reiserfs (2.5 minutes) in a simple little "read many
little files and search for a string" benchmark). Fortunately, my /home is
already a luks encrypted xfs.
2. Strong mail filtering functionality. A nice surprise is the automatic
anti-spam support. It supports both bogofilter and spamassassin, and
it creates filters which will register an email as either spam or ham
using the bayesian classifier in either of those. The filters just
classify the email as spam or ham and then either move the email to the
spam directory or keep it in the current directory. I had scripts to
do that in Evolution. Didn't think to do it with Evolution's built-in
filters though.
3. Search/Virtual folders.
It's slow though. Slower than evolution at most things, and I can make it pause with some large tasks (evolution seems to be much more multi-threaded or multi-process or whatever, in any case, it's harder to make the UI pause). And the Search/Virtual folders have a stupid bug (or maybe it's a feature, I don't understand how that could be though). When the preview pane is displayed, clicking on a virtual folder makes all unread email in that folder automatically change their status to read. This is bogus. It might make sense if the email that is selected in that folder is marked read, but not ALL of them. There's a bug report on it. I don't know why it's a wishlist. I think I saw this bug already the last time I looked at Kmail and I backed off from switching then.
This time I switched anyway because Kmail has keyboard shortcuts to go to the first, next, prev,last unread emails. That's enough of a workaround that I can deal with switching. I'll be able to work with my large mailing list email folders. I won't be using Saved/Virtual folders for much else and I can wait for this bogosity to be resolved.
I looked at Thunderbird, but there are too many things missing. For one thing, I can't run a filter on a set of selected emails. As far as I can tell, one has to run a filter on a whole folder. Sometimes though, I need to do subset filtering (particularly when developing a new filter incrementally, on a very large folder, so that whole folder filtering is very slow). I can't run external commands in a filter (can't do that in the filter definition either in Kmail, but you *can* do it in the filter action. Thunderbird can't do it in the filter action either). And there's no maildir support. maildir support is important because if the mailer gets unstable, you lose just one or a very few (depending on number of working threads) messages. An unstable mailer that uses mbox can lose the entire mbox if it really loses its mind. In fact, the reason I decided to switch away from Evolution is because after a security upgrade (pilot error, I had it run the upgrade while evolution was still running, I should have stopped the client) it deleted all email in my inbox with dates after Dec 7, 2008 (approximately, I forget the exact last date).
I may look at Thunderbird again in a few months, particularly if Kmail doesn't fix that bogosity.
Mainly, I stuck with Evolution because it has realtime-updated search folders. That is, it's possible to create a virtual "Folder" that is actually a search into other real folders, with logical criteria. It's like a view in SQL.
I used that for having an "Everything" folder, which was a view into all emails in all real folders (because I cut my email apart into many folders, for easier management, and so that I don't have a single large Inbox with 50,000+ emails in it). I also used it for showing unread email for some very voluminous mailing lists. In evolution, it's not convenient to find the next unread message (well, I never spent the time to find the keyboard shortcut for that, although there probably is one). So I just created search folders that showed only unread messages.
An upgrade to ubuntu gutsy's Evolution has left evolution slightly unstable though. Evolution would crash for no reason, or it would crash because, just after starting it, while it was fetching mail, I would click on the fetch mail icon and it would get confused. Evolution also feels like it's not being maintained. That's no big deal since it's already pretty complete, but I've been seeing it get unstable as crash bugs aren't fixed while some new features get in. So I decided I needed to switch to some other mailer.
I looked at Kmail and Thunderbird. Sylpheed-claws doesn't install cleanly as a package in Gutsy (or in my config, anyway), so I just ignored that.
Kmail has pretty much all the features I needed (and some I wanted):
1. Choice of maildir or mbox (I tested maildir last night on reiserfs and xfs,
I expected reiserfs to be much faster than xfs. Was very surprised to see
xfs (1.5 minutes) beat reiserfs (2.5 minutes) in a simple little "read many
little files and search for a string" benchmark). Fortunately, my /home is
already a luks encrypted xfs.
2. Strong mail filtering functionality. A nice surprise is the automatic
anti-spam support. It supports both bogofilter and spamassassin, and
it creates filters which will register an email as either spam or ham
using the bayesian classifier in either of those. The filters just
classify the email as spam or ham and then either move the email to the
spam directory or keep it in the current directory. I had scripts to
do that in Evolution. Didn't think to do it with Evolution's built-in
filters though.
3. Search/Virtual folders.
It's slow though. Slower than evolution at most things, and I can make it pause with some large tasks (evolution seems to be much more multi-threaded or multi-process or whatever, in any case, it's harder to make the UI pause). And the Search/Virtual folders have a stupid bug (or maybe it's a feature, I don't understand how that could be though). When the preview pane is displayed, clicking on a virtual folder makes all unread email in that folder automatically change their status to read. This is bogus. It might make sense if the email that is selected in that folder is marked read, but not ALL of them. There's a bug report on it. I don't know why it's a wishlist. I think I saw this bug already the last time I looked at Kmail and I backed off from switching then.
This time I switched anyway because Kmail has keyboard shortcuts to go to the first, next, prev,last unread emails. That's enough of a workaround that I can deal with switching. I'll be able to work with my large mailing list email folders. I won't be using Saved/Virtual folders for much else and I can wait for this bogosity to be resolved.
I looked at Thunderbird, but there are too many things missing. For one thing, I can't run a filter on a set of selected emails. As far as I can tell, one has to run a filter on a whole folder. Sometimes though, I need to do subset filtering (particularly when developing a new filter incrementally, on a very large folder, so that whole folder filtering is very slow). I can't run external commands in a filter (can't do that in the filter definition either in Kmail, but you *can* do it in the filter action. Thunderbird can't do it in the filter action either). And there's no maildir support. maildir support is important because if the mailer gets unstable, you lose just one or a very few (depending on number of working threads) messages. An unstable mailer that uses mbox can lose the entire mbox if it really loses its mind. In fact, the reason I decided to switch away from Evolution is because after a security upgrade (pilot error, I had it run the upgrade while evolution was still running, I should have stopped the client) it deleted all email in my inbox with dates after Dec 7, 2008 (approximately, I forget the exact last date).
I may look at Thunderbird again in a few months, particularly if Kmail doesn't fix that bogosity.
Wednesday, March 19, 2008
Loyalty is short-lived
While Telecom's customer service is outstanding, the actual internet service isn't that great. In particular, the bandwidth cap (in my case 3GB/month) is the sum of downloads and uploads. This isn't what I was told at the telecom sales office we subscribed at. I'm sure the telecom sales guy was just confused. He wasn't trying to lie to us, he just didn't know that the cap is the sum. He thought uploads weren't counted at all and that only downloads contributed to the cap.
As it is, this is going to put a cramp into my posting Timmy Videos to youtube. Or pushing pictures up to photobucket. With me, objective measures win over soft, touchy-feelie values. All things being equal, I'd stick with Telecom because their customer service has been great. But if some broadband provider were to suddenly provide internet access without caps, or with higher caps or no upload limit, then I'd switch immediately. Or maybe wait two to three months for telecom to catch up, and if they didn't come up with a competitive offering, then switch. Touchy-feelie good feelings are great. But bandwidth trumps touchy-feelie :-).
As it is, this is going to put a cramp into my posting Timmy Videos to youtube. Or pushing pictures up to photobucket. With me, objective measures win over soft, touchy-feelie values. All things being equal, I'd stick with Telecom because their customer service has been great. But if some broadband provider were to suddenly provide internet access without caps, or with higher caps or no upload limit, then I'd switch immediately. Or maybe wait two to three months for telecom to catch up, and if they didn't come up with a competitive offering, then switch. Touchy-feelie good feelings are great. But bandwidth trumps touchy-feelie :-).
Tuesday, March 18, 2008
"Lost" some email
In a glitch that I don't quite understand, I "lost" some email. It's not really lost. I keep a copy of everything on gmail. So it's still there. But it's very inconvenient to try to restore what was lost because gmail doesn't have a flexible way of saying, "reset the end of my already-downloaded list of emails to this particular email". Instead, I can either download everything again, give up on the "lost" email, or workaround somehow.
I'll probably give up. The email is on gmail, so I can always get back to it. I could workaround by forwarding all those emails to myself and then, on the receiving side, editing the From: and date sent of each email. But that's no fun. I certainly don't want to download everything again because I'm in New Zealand, and broadband here has a bandwidth cap. Mine is 3GB/month. When I go over, download speeds will drop to 64kbps or so. That's not too bad, but this isn't important enough for that.
I think that evolution got confused because evolution was running, and then I ran Ubuntu's automatic updater and evolution got updated. Possibly there was some confusion regarding evolution-data-server or similar. That'll teach me to keep programs running which are being updated. I think, though, that this is the first time I've been caught by updates updating running programs. Ah well, live and learn. Or maybe not. I'll probably forget and this'll happen to me again.
I've been putting off running postfix, fetchmail and an imapd daemon locally. I've done that in the past, it helps with reliability, automatic backup and spam classification with .procmailrc, etc.
I think I'll put it off some more though. Gmail has a copy of all my mail, and I can get a relatively recent copy of my Inbox (the only file affected) from my rdiff-backup backups. That'll bring my Inbox forward to sometime early this month. Then I'll just have about a week and a half of personal mail left on gmail. I would probably then forward those to myself since there'd be few enough of them.
I'll probably give up. The email is on gmail, so I can always get back to it. I could workaround by forwarding all those emails to myself and then, on the receiving side, editing the From: and date sent of each email. But that's no fun. I certainly don't want to download everything again because I'm in New Zealand, and broadband here has a bandwidth cap. Mine is 3GB/month. When I go over, download speeds will drop to 64kbps or so. That's not too bad, but this isn't important enough for that.
I think that evolution got confused because evolution was running, and then I ran Ubuntu's automatic updater and evolution got updated. Possibly there was some confusion regarding evolution-data-server or similar. That'll teach me to keep programs running which are being updated. I think, though, that this is the first time I've been caught by updates updating running programs. Ah well, live and learn. Or maybe not. I'll probably forget and this'll happen to me again.
I've been putting off running postfix, fetchmail and an imapd daemon locally. I've done that in the past, it helps with reliability, automatic backup and spam classification with .procmailrc, etc.
I think I'll put it off some more though. Gmail has a copy of all my mail, and I can get a relatively recent copy of my Inbox (the only file affected) from my rdiff-backup backups. That'll bring my Inbox forward to sometime early this month. Then I'll just have about a week and a half of personal mail left on gmail. I would probably then forward those to myself since there'd be few enough of them.
Friday, March 14, 2008
Quality Service from Telecom
I've been busy with moving to New Zealand with my family. This process has been going on for close on two years now. We arrived a 5 weeks ago, my wife is now working at the foremost open source oriented software development company in New Zealand, we've moved into a new rental home, things are moving forward quickly.
As part of moving into our new home (it's not an apartment, although it is a rental, since it's a standalone house with a little garden and garage) we had the utilities registered in our name, and we subscribed to Telecom for our home phone. We also went ahead and subscribed to telecom's broadband plans. This was mainly for convenience. New Zealand has naked DSL, it's possible to get DSL without a landline phone service. We thought we'd just go the convenient way and get both, and then switch later as necessary.
We probably won't now though, because I've been very happy with Telecom's call center service. I rang the call center and ordered the broadband service. All of this was done over the phone. I then rang again because I wanted to get some dialup service for the week or so that it would take to receive the ADSL modem/router. First of all, on the broadband, I was told that they had a promotion for online subscriptions. Online subscribers would get free 2 months of service. But the call center operator said that we'd get the free 2 months of service anyway even though we weren't subscribing online, because she'd just enter the order and we'd get the promotional 2 months free. She also said that Telecom had a promo on the broadband hardware package. There was an NZ$100 discount on the package (ADSL modem/wifi router and a few ADSL filters) so it would only cost NZ$100. Good deal.
I later called Telecom because I wanted to subscribe to their dialup service for a month, just til the DSL was up and running. I was told that normally broadband subscribers were given free dialup accounts to use until DSL was up. Good deal.
The Telecom call center support person later called me because he said he'd reviewed my broadband application and there was something wrogn with the order for the broadband router. That's pretty good service, good initiative.
So finally I called the call center again, spoke with someone who sounded Filipino (I guess they don't hire just Kiwi accents) and she investigated the error, and fixed it by removing the old order and re-creating it. I had to do the third call since the second support center person (the one who discovered the problem) was in the dialup support section and couldn't help me with broadband.
Altogether, it was very good to see really good, pro-active, genuinely customer satisfaction oriented service in action. I may still jump ship to some other broadband suppliers, but the barrier to jumping ship is now higher than it used to be.
As part of moving into our new home (it's not an apartment, although it is a rental, since it's a standalone house with a little garden and garage) we had the utilities registered in our name, and we subscribed to Telecom for our home phone. We also went ahead and subscribed to telecom's broadband plans. This was mainly for convenience. New Zealand has naked DSL, it's possible to get DSL without a landline phone service. We thought we'd just go the convenient way and get both, and then switch later as necessary.
We probably won't now though, because I've been very happy with Telecom's call center service. I rang the call center and ordered the broadband service. All of this was done over the phone. I then rang again because I wanted to get some dialup service for the week or so that it would take to receive the ADSL modem/router. First of all, on the broadband, I was told that they had a promotion for online subscriptions. Online subscribers would get free 2 months of service. But the call center operator said that we'd get the free 2 months of service anyway even though we weren't subscribing online, because she'd just enter the order and we'd get the promotional 2 months free. She also said that Telecom had a promo on the broadband hardware package. There was an NZ$100 discount on the package (ADSL modem/wifi router and a few ADSL filters) so it would only cost NZ$100. Good deal.
I later called Telecom because I wanted to subscribe to their dialup service for a month, just til the DSL was up and running. I was told that normally broadband subscribers were given free dialup accounts to use until DSL was up. Good deal.
The Telecom call center support person later called me because he said he'd reviewed my broadband application and there was something wrogn with the order for the broadband router. That's pretty good service, good initiative.
So finally I called the call center again, spoke with someone who sounded Filipino (I guess they don't hire just Kiwi accents) and she investigated the error, and fixed it by removing the old order and re-creating it. I had to do the third call since the second support center person (the one who discovered the problem) was in the dialup support section and couldn't help me with broadband.
Altogether, it was very good to see really good, pro-active, genuinely customer satisfaction oriented service in action. I may still jump ship to some other broadband suppliers, but the barrier to jumping ship is now higher than it used to be.
Friday, February 15, 2008
WPA finally
My family and I are in New Zealand and I'm happy to see that, where I'm staying, the telco that installed the DSL (and all wifi-routers that I can see in range, between 3 and 9) have WPA configured by default.
They have to do that, of course, because most NZ broadband has bandwidth caps. For instance, where I'm staying, the cap is 3GB per month. If we exceed that we don't get slapped with excessive per MB charges, nor is the bandwidth cut-off, but speed will drop to 64kbps.
Clearly, leeching off someone else's wifi signal could be very profitable (in the sense of having someone else pay for the download) and very anti-social. So the telco is pretty much required to (1) provide the wifi-routers [because customers will connect wifi anyway, better for the telco to do it right) and (2) make sure the wifi-router is configured to be secure.
It took me a week to get wifi on my (and my wife's) laptop working though. I got very rushed instructions on the password, and then my host left for a week. I couldn't get the password to work, nor any of the obvious variations I tried. My host just got back from his weeklong trip and we worked out the password after he looked in his documentation. After a bit of fiddling with wpa_supplicant, I've finally got it working. As it happens, I *did* try the password that finally worked, but I guess I had other wpa_supplicant settings not quite right.
This has been a good experience. For a week, we just used an ethernet cable to connect to the router, so we were still able to use the internet, but in the meantime I've learned much about the nitty gritty of wpa_supplicant.
In another life I kept my wifi-router open (and then moved to mac auth) because I was interested in watching what people would do with it (and if they'd sniff and spoof vald mac addresses). With bandwidth caps as implemented in NZ though, I'm clearly going to have to use WPA, so it's a good thing to get a handle on how to get it working, for when we rent our own apartment and get our own broadband.
They have to do that, of course, because most NZ broadband has bandwidth caps. For instance, where I'm staying, the cap is 3GB per month. If we exceed that we don't get slapped with excessive per MB charges, nor is the bandwidth cut-off, but speed will drop to 64kbps.
Clearly, leeching off someone else's wifi signal could be very profitable (in the sense of having someone else pay for the download) and very anti-social. So the telco is pretty much required to (1) provide the wifi-routers [because customers will connect wifi anyway, better for the telco to do it right) and (2) make sure the wifi-router is configured to be secure.
It took me a week to get wifi on my (and my wife's) laptop working though. I got very rushed instructions on the password, and then my host left for a week. I couldn't get the password to work, nor any of the obvious variations I tried. My host just got back from his weeklong trip and we worked out the password after he looked in his documentation. After a bit of fiddling with wpa_supplicant, I've finally got it working. As it happens, I *did* try the password that finally worked, but I guess I had other wpa_supplicant settings not quite right.
This has been a good experience. For a week, we just used an ethernet cable to connect to the router, so we were still able to use the internet, but in the meantime I've learned much about the nitty gritty of wpa_supplicant.
In another life I kept my wifi-router open (and then moved to mac auth) because I was interested in watching what people would do with it (and if they'd sniff and spoof vald mac addresses). With bandwidth caps as implemented in NZ though, I'm clearly going to have to use WPA, so it's a good thing to get a handle on how to get it working, for when we rent our own apartment and get our own broadband.
Monday, February 04, 2008
encrypted filesystems finally
I've been waiting for linux encrypted filesystems to finally become easy to use. They finally are. There are a few sweet and simple instructions online (the first one I used was similar to the one I finally used, but didn't mention /etc/crypttab, so I hacked up the ubuntu init files to manually luksOpen).
Steve Parker finally has a very easy to follow discussion on how to setup encrypted filesystems on debian. This works perfectly for me on ubuntu, except I didn't do the encrypted root thing. I only encrypt /home and my external backup drives for now. I'll probably do encrypted root after testing a few times on vmware.
Steve Parker finally has a very easy to follow discussion on how to setup encrypted filesystems on debian. This works perfectly for me on ubuntu, except I didn't do the encrypted root thing. I only encrypt /home and my external backup drives for now. I'll probably do encrypted root after testing a few times on vmware.
Thursday, January 24, 2008
internet cafes and viruses
I went to the corner internet cafe to have a map printed. The map was a .ppt and when I saved it to the USB disk the .ppt became a .swf. I didn't know this, and at the cafe they couldn't open it, so I went back home to save it as a graphic. I was in a rush, so I just took a screen shot of gmail, saved it as a .png and brought it back to the cafe.
When I saved the .png back to the USB flash drive I saw that there was an autorun.inf file in there. Clearly I'd been infected by a virus. I went ahead and worked with the USB drive though since I don't care about windows viruses. I *could* get infected through wine, I guess, but I don't have that configured to autorun anything from devices. I don't even know if it *can* be configured to autorun programs and installers from removable devices.
The map got printed and the party was great fun.
I don't care too much about viruses since I don't use windows and am probably fairly immune. The thing to take away from this though is that windows viruses are everywhere. even if the windows user is 100% up-to-date with his/her antivirus definitions and runs two or three anti-virus programs (thus slowing down the computer by a LOT, buy twice or thrice the computer you'll really need if you want to run windows and antivirus) and practices safe computing practices, virus infection is probably inevitable (if only because, at some point, you're going to receive a real work related document from someone who isn't as virus safe as you, and they got hit by a zero-day virus and passed it on to you on the same day).
It's probably possible to go a year or two without virus infection by practicing ultra-safe windows computing. But everyone will get infected at some point. Ultra-safe windows computing is a pain too (never open attachments from anyone, never use removable media, never run as root, never go online to the internet, or if you do, never run flash, activex, java, javascript, don't run IE) and regular users just won't do it. Only geeks can be really safe from viruses, and even they are likely to weaken windows security because it's just too inconvenient. Oh yeah, don't visit pr0n sites, don't download and install free programs, etc.
Windows. What. A. Pain.
When I saved the .png back to the USB flash drive I saw that there was an autorun.inf file in there. Clearly I'd been infected by a virus. I went ahead and worked with the USB drive though since I don't care about windows viruses. I *could* get infected through wine, I guess, but I don't have that configured to autorun anything from devices. I don't even know if it *can* be configured to autorun programs and installers from removable devices.
The map got printed and the party was great fun.
I don't care too much about viruses since I don't use windows and am probably fairly immune. The thing to take away from this though is that windows viruses are everywhere. even if the windows user is 100% up-to-date with his/her antivirus definitions and runs two or three anti-virus programs (thus slowing down the computer by a LOT, buy twice or thrice the computer you'll really need if you want to run windows and antivirus) and practices safe computing practices, virus infection is probably inevitable (if only because, at some point, you're going to receive a real work related document from someone who isn't as virus safe as you, and they got hit by a zero-day virus and passed it on to you on the same day).
It's probably possible to go a year or two without virus infection by practicing ultra-safe windows computing. But everyone will get infected at some point. Ultra-safe windows computing is a pain too (never open attachments from anyone, never use removable media, never run as root, never go online to the internet, or if you do, never run flash, activex, java, javascript, don't run IE) and regular users just won't do it. Only geeks can be really safe from viruses, and even they are likely to weaken windows security because it's just too inconvenient. Oh yeah, don't visit pr0n sites, don't download and install free programs, etc.
Windows. What. A. Pain.
Friday, January 18, 2008
Rude Poisoned Well
My wife, son and I are going to New Zealand in a few weeks. We applied for Work-to-Residence as Skilled migrants, were accepted and are on our way.
My wife, as principal applicant will work, while I, as burned out office worker, will take care of house and home. I am very liberated, but also trepidated :-).
We've got a program of sending out one work application per day while we wait for departure day (or, as ian sison would say, deportation day :-). Today sol sent out an application with a painstakingly crafted cover letter which got a rude reply to read the job specification, NZ residents only.
Either the employer didn't read to the end of the cover letter where it says that we're allowed to work in NZ (and just sent out a one sentence, accurate but rude reply), doesn't think that WTR matters because he means *currently*in*new*zealand*right*now*, or possibly is reacting rudely because the well has been poisoned by too many non-NZ applications who want the employer to work out their work visas.
It could be any of those, or any combination of those factors. In any case I'm glad that this was one of the jobs that I'm not enthusiastic about. We won't mind if the employer sticks by his guns and won't talk to us anymore since I doubt that my wife would actually want to work with anyone so rude. His loss too, my wife is an excellent developer with 15 years of software development experience in 4 languages.
My wife, as principal applicant will work, while I, as burned out office worker, will take care of house and home. I am very liberated, but also trepidated :-).
We've got a program of sending out one work application per day while we wait for departure day (or, as ian sison would say, deportation day :-). Today sol sent out an application with a painstakingly crafted cover letter which got a rude reply to read the job specification, NZ residents only.
Either the employer didn't read to the end of the cover letter where it says that we're allowed to work in NZ (and just sent out a one sentence, accurate but rude reply), doesn't think that WTR matters because he means *currently*in*new*zealand*right*now*, or possibly is reacting rudely because the well has been poisoned by too many non-NZ applications who want the employer to work out their work visas.
It could be any of those, or any combination of those factors. In any case I'm glad that this was one of the jobs that I'm not enthusiastic about. We won't mind if the employer sticks by his guns and won't talk to us anymore since I doubt that my wife would actually want to work with anyone so rude. His loss too, my wife is an excellent developer with 15 years of software development experience in 4 languages.
Wednesday, January 16, 2008
exploding gifs
I saw If WWII had been played in Age of Empires... on Reddit. That gif needs to be exploded into its individual frames. It slows down my computer something awful, and some parts of it run fast enough that I can't quite keep up (much like Age Of Empires, actually :-).
Some googling pointed me at GifSplitter (I've lost the link, and I don't care to link to it anyway). It's windows software, so I tried to get it to work with wine. It needs the vb6 runtime. I downloaded that, and it failed on some unimplemented OLE API function.
fixme:ole:OLEPictureImpl_SaveAsFile (0x144da8)->(0xa60be4, 1, (nil)), hacked stub.
A bit more googling pointed me at gifsicle. A quick sudo apt-get install gifsicle later and I was able to do:
gifsicle -e ghg.gif
which gave me the individual frames as ghg.gif_###, and another quick bash for loop later and I have the individual frames now. Next I need to actually do something with them, like put them into a powerpoint file or similar :-). Yeah, OpenOffice Impress is the RIGHT file format for this, but I bow to reality here. Maybe 1/3 of the people I email the file to will be able to read Impress, the others need an MS-Office compatible file. Reality sucks.
Some googling pointed me at GifSplitter (I've lost the link, and I don't care to link to it anyway). It's windows software, so I tried to get it to work with wine. It needs the vb6 runtime. I downloaded that, and it failed on some unimplemented OLE API function.
fixme:ole:OLEPictureImpl_SaveAsFile (0x144da8)->(0xa60be4, 1, (nil)), hacked stub.
A bit more googling pointed me at gifsicle. A quick sudo apt-get install gifsicle later and I was able to do:
gifsicle -e ghg.gif
which gave me the individual frames as ghg.gif_###, and another quick bash for loop later and I have the individual frames now. Next I need to actually do something with them, like put them into a powerpoint file or similar :-). Yeah, OpenOffice Impress is the RIGHT file format for this, but I bow to reality here. Maybe 1/3 of the people I email the file to will be able to read Impress, the others need an MS-Office compatible file. Reality sucks.
Monday, January 14, 2008
VB.Net uninstall
Despite using Linux for almost everything I do, I don't hold to any particular tech religion. I'm tech agnostic. So I don't see anything particularly wrogn with using FREE closed-source software.
I installed VB.Net Express Edition on a (legal) windows installation a few weeks ago. I've been trying to uninstall it today. Twice now. Both times I've given up because the uninstall starts but blocks at a certain point. I'm running it for the third time now and it's blocked again. I'm probably going to have to blow that Windows installation away and reinstall.
This reminds me of why I use Linux almost all the time.
I just wanted to learn C# and test it in Mono and and in Windows. But of course, the windows side is crepe. I haven't stressed the linux side enough yet to see what the quality is like there.
Follow-up. OK, the VB.Net uninstall never finished. I think I'll first try to repair the installation and then uninstall it. If that doesn't work, then I'll reinstall VB.Net Express and try to uninstall *THAT*. If that still doesn't work, then it's time to euthanize windows and reinstall everything from scratch.
I installed VB.Net Express Edition on a (legal) windows installation a few weeks ago. I've been trying to uninstall it today. Twice now. Both times I've given up because the uninstall starts but blocks at a certain point. I'm running it for the third time now and it's blocked again. I'm probably going to have to blow that Windows installation away and reinstall.
This reminds me of why I use Linux almost all the time.
I just wanted to learn C# and test it in Mono and and in Windows. But of course, the windows side is crepe. I haven't stressed the linux side enough yet to see what the quality is like there.
Follow-up. OK, the VB.Net uninstall never finished. I think I'll first try to repair the installation and then uninstall it. If that doesn't work, then I'll reinstall VB.Net Express and try to uninstall *THAT*. If that still doesn't work, then it's time to euthanize windows and reinstall everything from scratch.
Thursday, January 10, 2008
Bandwidth
I'm with Orly on Bandwidth. He's on Globe, but I get similar quality with my entry-level PLDT-DSL account. Last night I downloaded the CentOS 5 DVD. That finished overnight. Today I'm downloading opensolaris, one the developer edition installer itself, and one the pre-built vmware image. Those will finish by tomorrow (unless Sun's bandwidth gets flaky, as it did when I downloaded a previous opensolaris DVD installer). Or maybe that was PLDT, I don't think it was though, I was downloading from other sources at the time and they were'nt slow.
But, yeah, it's great that for a relatively low price (much less than unlimited dialup cost just 3 years or so ago, in Cagayan de Oro, anyway) I can download DVD ISOs overnight. I remember downloading linux CD ISOs over a week and a half (on dialup though).
My family and I are going to New Zealand. Apparently, the low end residential broadband offerings there have monthly bandwidth caps (which are less than a single DVD ISO) and once the cap is hit, either the subscriber pays per extra GB or bandwidth drops to 64kbps (or so). That's fine most of the time, but when I need to download legitimate software it's going to be a problem. I'll download everything I'll need between now and when I leave so that I can minimize the number of times I'll hit my bandwidth cap :-).
But, yeah, it's great that for a relatively low price (much less than unlimited dialup cost just 3 years or so ago, in Cagayan de Oro, anyway) I can download DVD ISOs overnight. I remember downloading linux CD ISOs over a week and a half (on dialup though).
My family and I are going to New Zealand. Apparently, the low end residential broadband offerings there have monthly bandwidth caps (which are less than a single DVD ISO) and once the cap is hit, either the subscriber pays per extra GB or bandwidth drops to 64kbps (or so). That's fine most of the time, but when I need to download legitimate software it's going to be a problem. I'll download everything I'll need between now and when I leave so that I can minimize the number of times I'll hit my bandwidth cap :-).
Saturday, December 22, 2007
Not about Windows+HP
So a bug in HP's software update, ahh, software for HP laptops allows malware to brick windows. It's not like I care. We recently bought an HP Pavilion for my wife and I installed Kubuntu on it. So we're safe from this sort of stupidity. It was pretty cool. We kept the (legal) windows on it for possible future use (we never actually use it, I always just nuke the windows partition and use it for extra storage, but I never learn). I had to uninstall a whole bunch of useless programs that come pre-installed with the laptop though. And, strangely enough, the time to uninstall those programs was LONGER than the time to resize the partition and install Kubuntu in the newly available free space.
I didn't backup the windows partition since I didn't really care if it got corrupted. The Kubuntu installer handled the partition resizing perfectly though. Windows still boots and Kubuntu works perfectly. I didn't need to configure anything (although, frankly I haven't tried out the firewire port yet, since I don't have any firewire devices :-), everything just worked.
If windows users keep getting victimized by malware like this (that exploits bugs in legitimate software) or just generally by malware (illegal downloading of programs that have viruses and such in them), well, I think those windows users should be punished continuously (just by continuing to use their windows boxen and living with the pain and malware that comes with that) until they learn better. Or not, I don't particularly care.
I didn't backup the windows partition since I didn't really care if it got corrupted. The Kubuntu installer handled the partition resizing perfectly though. Windows still boots and Kubuntu works perfectly. I didn't need to configure anything (although, frankly I haven't tried out the firewire port yet, since I don't have any firewire devices :-), everything just worked.
If windows users keep getting victimized by malware like this (that exploits bugs in legitimate software) or just generally by malware (illegal downloading of programs that have viruses and such in them), well, I think those windows users should be punished continuously (just by continuing to use their windows boxen and living with the pain and malware that comes with that) until they learn better. Or not, I don't particularly care.
Tuesday, December 18, 2007
Woohoo!
I've had an HP laptop burning a hole in my bedroom floor for a month or so. My brother sends laptops over from the U.S. and I try to sell them for him. Sol and I (mainly I) wanted this laptop for ourselves though. I've been trying to sell my laptop for cheap (PHP 22K) so I could get the HP. That didn't go over very well (since my laptop *definitely* looks used, although it's still a perfectly good laptop). So I gave up on trying to sell mine and switched to trying to sell my wife's IBM thinkpad. This is a single core Pentium M (1.7Ghz) with 1GB of RAM and a DVD writer. It's not very old, but it's certainly not new either (it's an actual *IBM*, not Lenovo).
It was QSR's Christmas lunch last Sunday and I offered the thinkpad to one of the QSR longtimers. She was happy to grab the thinkpad at the special pricing :-). In celebration I'll be installing Ubuntu on the HP tonight. The HP is widescreen, has altec lansing speakers, and has a very nice remote control for controlling DVDs and music player. It's too bad that we won't be able to use the remote once it's Ubuntu. Ah well, maybe we'll keep Windows on a very small partition and dual boot just for viewing DVDs and playing music. Oh yeah, I'd have had Ubuntu installed by now, but I realized that I didn't have a copy of Gutsy Kubuntu (my wife prefers KDE). So I downloaded via torrent. The CD is written, but now I have to get my donkey to work, so the Ubuntu installfest will have to wait til I get home.
It'd be nice for *me* to use the HP laptop. I could probably use the 2 cores in there. But it's lighter than *my* laptop, so I'll stick with my single core 1.5Ghz CPU and Sol can enjoy the lighter weight of the HP :-). I'll put those CPUs through their paces at night though :-), mainly re-encoding Timmy videos so that they're smaller.
It was QSR's Christmas lunch last Sunday and I offered the thinkpad to one of the QSR longtimers. She was happy to grab the thinkpad at the special pricing :-). In celebration I'll be installing Ubuntu on the HP tonight. The HP is widescreen, has altec lansing speakers, and has a very nice remote control for controlling DVDs and music player. It's too bad that we won't be able to use the remote once it's Ubuntu. Ah well, maybe we'll keep Windows on a very small partition and dual boot just for viewing DVDs and playing music. Oh yeah, I'd have had Ubuntu installed by now, but I realized that I didn't have a copy of Gutsy Kubuntu (my wife prefers KDE). So I downloaded via torrent. The CD is written, but now I have to get my donkey to work, so the Ubuntu installfest will have to wait til I get home.
It'd be nice for *me* to use the HP laptop. I could probably use the 2 cores in there. But it's lighter than *my* laptop, so I'll stick with my single core 1.5Ghz CPU and Sol can enjoy the lighter weight of the HP :-). I'll put those CPUs through their paces at night though :-), mainly re-encoding Timmy videos so that they're smaller.
Friday, December 14, 2007
Transition
I gave my current company about 1.25 to 1.5 years notice and the 1.5 years is up next week. The notice was that long since the reason I'm leaving is that my wife and I are immigrating to New Zealand. The process took that long. It could have taken less, but there were some complications having to do with my health records, and anyway, I enjoy my job enough that I've been dragging out the immigration process as long as possible.
The 13th month pay was a factor too, and my commitment to work through to the end of the year.
As it happens, I'm leaving on 21Dec, but nothing gets done after that anyway, till the end of the year :-).
I've been documenting into an internal wiki. There's not enough documentation yet, I figure I'm going to have to continue writing documentation for free for about 2 more months (but at a more leisurely pace). I'll do that if I retain my vpn access. I won't though if they revoke the VPN access (hard to write on a wiki if you're not online to the wiki itself).
Today I stopped my fetchmail job running on my desktop. My desktop at work has postfix and courier-imap running on it. And I had fetchmail downloading my email from gmail and pushing it to local postfix so I could grab it from my laptop. That won't be around for me anymore after the 21st though, so it's time to switch to downloading email from gmail directly. Or, more likely, installing courier-imap on my laptop so that I don't have to have evolution up and running all the time (and I can be more flexible, using procmail for some things, for instance).
One of the reasons I had that courier-imap setup at work was so that I'd have *three* copies of my email. One on gmail, one on my laptop, and I had a .forward to another local account on my work computer for backup. I don't think I'll have that .forward on my laptop though. My email is in multiple gigabytes now and I don't think I actually need *3* copies :-). Although, come to think on it, I actually had *4* copies and now I'll have 3, since I also regularly backup my email (among other things) to an external USB hard drive, and I have *versions*, since I use rdiff-backup :-).
I'm going to have to work with the sysad team too, so that all the cron jobs that I have running on one or another of the servers at work (including some on my desktop) are migrated to the official servers.
The 13th month pay was a factor too, and my commitment to work through to the end of the year.
As it happens, I'm leaving on 21Dec, but nothing gets done after that anyway, till the end of the year :-).
I've been documenting into an internal wiki. There's not enough documentation yet, I figure I'm going to have to continue writing documentation for free for about 2 more months (but at a more leisurely pace). I'll do that if I retain my vpn access. I won't though if they revoke the VPN access (hard to write on a wiki if you're not online to the wiki itself).
Today I stopped my fetchmail job running on my desktop. My desktop at work has postfix and courier-imap running on it. And I had fetchmail downloading my email from gmail and pushing it to local postfix so I could grab it from my laptop. That won't be around for me anymore after the 21st though, so it's time to switch to downloading email from gmail directly. Or, more likely, installing courier-imap on my laptop so that I don't have to have evolution up and running all the time (and I can be more flexible, using procmail for some things, for instance).
One of the reasons I had that courier-imap setup at work was so that I'd have *three* copies of my email. One on gmail, one on my laptop, and I had a .forward to another local account on my work computer for backup. I don't think I'll have that .forward on my laptop though. My email is in multiple gigabytes now and I don't think I actually need *3* copies :-). Although, come to think on it, I actually had *4* copies and now I'll have 3, since I also regularly backup my email (among other things) to an external USB hard drive, and I have *versions*, since I use rdiff-backup :-).
I'm going to have to work with the sysad team too, so that all the cron jobs that I have running on one or another of the servers at work (including some on my desktop) are migrated to the official servers.
Saturday, December 08, 2007
Gutsy dist-upgrade again - slow
My wife has finally finished (well, officially, of course there'll be support calls for a month or so) a lucrative software development project that is funding our immigration to New Zealand. She uses Kubuntu and she's at Feisty. I'd delayed upgrading her laptop so that there'd be no delays with her project.
With the project done, I've started the Gutsy upgrade. There's a bug with the Feisty restricted updates packages list. It's supposed to be .gz, but surfing to it shows that it's actually just a text file. so the first stage of the dist-upgrade fails because gzip tried to decompress the file and failed.
I didn't want to fight it, so I just removed restricted from apt-get/sources.list and restarted the dist-upgrade.
It then said that / was too small. So I cleared out /var/log/messages and since that didn't help enough, I also moved /usr/share to /home and linked /home/usr-share to /usr/share. Standard trick when I underestimate how large / should be :-). I'll move it back later when the dist-upgrade is done.
That's going to be *MUCH* later though. The packages are downloading, but at a glacial 11-20 kiloBITS per second. I'll crash now. A few hours after I wake up the downloads should be done and the upgrade can continue.
I've been sick today but I'm excited about finally upgrading her laptop, which is why I'm sitting t her computer right now, close to midnight. I'd wanted to install xdebug and protoeditor a few days ago but again, in the interest of stability, held off. When the upgrade is done, I'll install protoeditor and she'll finally be able to debug PHP programs in linux. *THAT's* really what I've been excited about. The upgrade is just a logical forward step to take before I get to install the debugger.
Protoeditor still has some bugs (mainly involving displaying some array entries). It's already very useful though. Just the ability to animate the flow of execution is a big deal (e.g., for figuring out incredibly bad legacy code, or incredibly good but complex code I wrote but don't understand anymore :-). Finding bugs is great too :-).
With the project done, I've started the Gutsy upgrade. There's a bug with the Feisty restricted updates packages list. It's supposed to be .gz, but surfing to it shows that it's actually just a text file. so the first stage of the dist-upgrade fails because gzip tried to decompress the file and failed.
I didn't want to fight it, so I just removed restricted from apt-get/sources.list and restarted the dist-upgrade.
It then said that / was too small. So I cleared out /var/log/messages and since that didn't help enough, I also moved /usr/share to /home and linked /home/usr-share to /usr/share. Standard trick when I underestimate how large / should be :-). I'll move it back later when the dist-upgrade is done.
That's going to be *MUCH* later though. The packages are downloading, but at a glacial 11-20 kiloBITS per second. I'll crash now. A few hours after I wake up the downloads should be done and the upgrade can continue.
I've been sick today but I'm excited about finally upgrading her laptop, which is why I'm sitting t her computer right now, close to midnight. I'd wanted to install xdebug and protoeditor a few days ago but again, in the interest of stability, held off. When the upgrade is done, I'll install protoeditor and she'll finally be able to debug PHP programs in linux. *THAT's* really what I've been excited about. The upgrade is just a logical forward step to take before I get to install the debugger.
Protoeditor still has some bugs (mainly involving displaying some array entries). It's already very useful though. Just the ability to animate the flow of execution is a big deal (e.g., for figuring out incredibly bad legacy code, or incredibly good but complex code I wrote but don't understand anymore :-). Finding bugs is great too :-).
Friday, November 30, 2007
php debugger finally
I've been looking around for free php debuggers. I never did get $DAYJOB to spring for nuedit phpED (and anyway, I couldn't get the demo to work when I downloaded and tried it). I've been struggling with Dmitri's DBG for a long time. Sometimes I'd get it working and sometimes not. Lately I had it pretty stable, but I never actually wanted to work with the command line debugger client since it was so ugly, not even being as nice as gdb, for instance.
I got xdebug working but didn't like the command line client. There are a lot of options though for clients. I could only test free clients though. I tried two windows clients under wine. Neither worked and I didn't care enough to work very hard at them.
Xdebug support is supposed to be in the PHP Development Tools but after trying that out for two hours or so last night (much of that time spent downloading eclipse, once from ubuntu, and once from PDT), I gave up and went to bed. I couldn't get the debugger to talk to the spawned command line program, or to a web program. I think that was mainly a failure of documentation though. It looks like a great plugin to eclipse, but I couldn't figure out how to make things work because I couldn't find any clear documentation (it may be there anyway, I just can't find it).
Timmy woke up early and I got him to sleep at 2:20AM. I went downstairs (the other hour of eclipse work) and, in between resizing videos I installed protoeditor. This was an install from source. I had to install a bunch of libraries it needed, but finally I got it compiled and running and actually stepping through a program (running under apache, and also under the command line).
This has got me sufficiently excited that I'm totally stressing my bandwidth at home and at work because I'm installing required packages on a centos 4.x vmware image at home and on my feisty box at work. Both downloads are going slow and are downloading huge numbers of packages. Ah well. I wouldn't install on the VM except I work with a team who all use a similar VM, so I need to be able to tell them how to install protoeditor on their VMs. They could install it on their host distros, but then they'd be on their own with that. Damn, I'm just at the initial yum update on the centos 4.x VM and it's downloading 95 packages!
Packages I needed to install (may not be complete since I've also previously manually installed a whole bunch of other software on this box, so it's not a virgin gutsy install anymore):
OK. I just installed that on my computer at work to see if protoeditor would ./configure. It is now. I'll test if protoeditor is really working tomorrow. I could test now, but I don't like running X applications remotely over my VPN :-).
It works great locally on my laptop though.
I got xdebug working but didn't like the command line client. There are a lot of options though for clients. I could only test free clients though. I tried two windows clients under wine. Neither worked and I didn't care enough to work very hard at them.
Xdebug support is supposed to be in the PHP Development Tools but after trying that out for two hours or so last night (much of that time spent downloading eclipse, once from ubuntu, and once from PDT), I gave up and went to bed. I couldn't get the debugger to talk to the spawned command line program, or to a web program. I think that was mainly a failure of documentation though. It looks like a great plugin to eclipse, but I couldn't figure out how to make things work because I couldn't find any clear documentation (it may be there anyway, I just can't find it).
Timmy woke up early and I got him to sleep at 2:20AM. I went downstairs (the other hour of eclipse work) and, in between resizing videos I installed protoeditor. This was an install from source. I had to install a bunch of libraries it needed, but finally I got it compiled and running and actually stepping through a program (running under apache, and also under the command line).
This has got me sufficiently excited that I'm totally stressing my bandwidth at home and at work because I'm installing required packages on a centos 4.x vmware image at home and on my feisty box at work. Both downloads are going slow and are downloading huge numbers of packages. Ah well. I wouldn't install on the VM except I work with a team who all use a similar VM, so I need to be able to tell them how to install protoeditor on their VMs. They could install it on their host distros, but then they'd be on their own with that. Damn, I'm just at the initial yum update on the centos 4.x VM and it's downloading 95 packages!
Packages I needed to install (may not be complete since I've also previously manually installed a whole bunch of other software on this box, so it's not a virgin gutsy install anymore):
- xlibs-dev
- libqt3-headers
- libqt3-mt
- libqt3-mt-dev (not sure if really needed, I installed it anyway)
- kde-devel (which pulls in a boatload of stuff)
OK. I just installed that on my computer at work to see if protoeditor would ./configure. It is now. I'll test if protoeditor is really working tomorrow. I could test now, but I don't like running X applications remotely over my VPN :-).
It works great locally on my laptop though.
Sunday, November 25, 2007
Don't use Union unless you know what you're doing
I got bitten by a little insect I didn't know about, the other day. I'd written a family of views to simplify something horribly complex. Except in the penultimate view I had used UNION instead of UNION ALL.
I *HAD* too read the postgresql documentation on SELECT which clearly states that:
But clearly I hadn't internalized it and continued preferring UNION because it was one word instead of two :-).
The bug report set me straight though. Now I will *definitely* remember the difference between UNION and UNION ALL (in that UNION folds duplicate rows into just one).
I *HAD* too read the postgresql documentation on SELECT which clearly states that:
The result of UNION does not contain any duplicate rows unless the ALL option is specified. ALL prevents elimination of duplicates. (Therefore, UNION ALL is usually significantly quicker than UNION; use ALL when you can.).
But clearly I hadn't internalized it and continued preferring UNION because it was one word instead of two :-).
The bug report set me straight though. Now I will *definitely* remember the difference between UNION and UNION ALL (in that UNION folds duplicate rows into just one).
Monday, November 12, 2007
Vista dialup plus winmodem -- can't help
A very good friend of mine bought a new computer. The new PC has Home Vista Basic on it. It works well enough for most things (that I try, anyway). There was some confusion with printer permissions for her children (she's the only administrator). I sorted that out a few weeks ago. Now she's complaining because there's a problem with the winmodem. I actually tested this a few days ago and, if I dialup to her (prepaid) ISP after a reboot, it works. I stay online for hours. But when I disconnect and try to dialup again it always fails. Diagnostics is useless (all it says is that the connection failed).
Rebooting fixes things. Just reboot, and I'll be able to connect again reliably. Unfortunately, after disconnecting, dialing up never works again until the next reboot.
I'm not able to help her because, much as I'd love to switch her to Ubuntu, I have never had any success with winmodems on linux and I'm not going to give her my US Robotics USB modem (if I could find it).
I guess she's just going to have to reboot between dialup connections to her ISP. It's the price to pay for going with windows. I'm sure things would go better with windows XP. Maybe I'll have her go back to where she bought her PC and get them to downgrade her to XP from Vista.
Microsoft, a whole bunch of bastards who force a pregnant woman to go to her PC store so they'll tell her they can't downgrade her to XP.
Rebooting fixes things. Just reboot, and I'll be able to connect again reliably. Unfortunately, after disconnecting, dialing up never works again until the next reboot.
I'm not able to help her because, much as I'd love to switch her to Ubuntu, I have never had any success with winmodems on linux and I'm not going to give her my US Robotics USB modem (if I could find it).
I guess she's just going to have to reboot between dialup connections to her ISP. It's the price to pay for going with windows. I'm sure things would go better with windows XP. Maybe I'll have her go back to where she bought her PC and get them to downgrade her to XP from Vista.
Microsoft, a whole bunch of bastards who force a pregnant woman to go to her PC store so they'll tell her they can't downgrade her to XP.
Wednesday, November 07, 2007
Catching up
The last 4 weeks or so have been hectic.
Things are getting back to normal though. Mainly because of the Nanny and hospital issues, I stopped reading email for a while. I just sped through my work email. Fortunately I'm caught up there. Now I need to get caught up on my tasks. That's going to be more hecticity for another week or two.
- Timmy's nanny had to go home to the province and then wasn't allowed to come back by her husband.
- Timmy got sick and we had to spend a work week in the hospital,
- I got to work but had to catch up on a lot of things (still not caught up),
- Preparations for Timmy's birthday, the actual birthday and then a long weekend (spent with family, so not much work got done)
Things are getting back to normal though. Mainly because of the Nanny and hospital issues, I stopped reading email for a while. I just sped through my work email. Fortunately I'm caught up there. Now I need to get caught up on my tasks. That's going to be more hecticity for another week or two.
Monday, November 05, 2007
Gutsy dist-upgrade
I waited a few weeks before upgrading to Ubuntu Gutsy Gibbon because I've always had trouble with Ubuntu dist-upgrades and I wanted to get past some milestones first (Timmy's birthday, for one) before trying to upgrade and possibly ending up with a broken system that I'd have to spend a day or more fixing.
I've never had success with any Ubuntu online distro upgrade, and I've been trying it since Dapper. Twice I've broken my system sufficiently badly that I had to reinstall from CD (I could probably have fixed it, but I'm not all that familiar with dpkg or grub, and both times I had problem with one or both of those subsystems).
I'm pretty sure that those failed online upgrades were my fault. I install packages from multiverse, universe and some lesser known repositories. I also will sometimes monkey with files that the packages require to exist or be in one or another format. In any case, I'd done some similar monkeying with Feisty, so I wasn't confident that the distro upgrade would work flawlessly.
I finally made the plunge last night after a marathon of converting images (renaming more logically/usefully, at my wife's request), videos (converting in kino to divx so that they're 1/4 to 1/6 original size), and backing up everything (rdiff-backup to my external hard drive, and the images and videos to my wife's external hard drive and laptop, because losing timmmy's pictures and videos is inconceivable).
As usual, I didn't get a flawless upgrade. Fortunately, however, this time there was just one major problem. Initially there was a weird minor issue when the distro upgrade seemed stuck. I did an strace on the process and noticed that it seemed to be in a loop working on the linux kernel image. So I killed that and after a
dpkg --configure -a
restarted the distro upgrade. It worked better after that, asking me what to do about config files that I'd manually modified. For some questions I kept my changes (always after viewing a diff of the config files), others I allowed the distro to replace my changes.
Again, though, the distro upgrade failed. This time on an openoffice.org package that involved mobile devices (not sure how I got that installed, probably with the openoffice.org evolution integration package). That was bad enough that I had to dpkg --configure -a again, and then remove all the openoffice.org packages so that the upgrade could continue.
I had to go to bed after some pressure from my wife, and then a 30 minute brownout almost broke the install. After more pressure from my wife (including her turning off and unplugging my laptop :-), I finally went to bed and restarted the distro upgrade in the morning. Fortunately, everything worked fine after that and I've got a usable Gutsy system now.
There is one problem though. Firefox 2.0.0.8 (even with all add-ons removed) crashes randomly on some sites, and consistently (as in EVERY SINGLE TIME) on blogger. Which is why I'm posting this using epiphany. I was going to use Opera, but I decided to try the different browsers available with Ubuntu first before switching to Opera. Galeon breaks in the same way Firefox does. Clearly it uses the same buggy library. Fortunately, epiphany works well. I think I'll switch to epiphany until Firefox is fixed. I'm sure going to miss adblock though, and noscript, etc.
I use gnomad2 (since we've got a creative nomad zen mp3 player which we use mainly to play lullabies for Timmy to sleep to), and that works perfectly. I'm hoping that kino and ffmpeg work a bit better in Gutsy. In Feisty, most files would convert to divx medium quality. But some files would produce zero length .avi files. Those I'd have to reconvert to the next higher quality level just so that it'd be divx (and still half the size of the original avi file). I'll have to test kino with ffmpeg again on those files :-).
Upgrade: I broke down and googled for the firefox problem (first I ran firefox in a terminal so I could see the error message when it died).
It's a bug with libhunspell. The workaround is to disable spell checking in firefox. Turn off Edit|Preferences|Advanced|Check my spelling as I type..
Cool. I was liking epiphany, but some things were irritating (no multiple home pages, no multiple rows of tabs, although I really liked how fast it was, but no NoScript or AdBlock).
I've never had success with any Ubuntu online distro upgrade, and I've been trying it since Dapper. Twice I've broken my system sufficiently badly that I had to reinstall from CD (I could probably have fixed it, but I'm not all that familiar with dpkg or grub, and both times I had problem with one or both of those subsystems).
I'm pretty sure that those failed online upgrades were my fault. I install packages from multiverse, universe and some lesser known repositories. I also will sometimes monkey with files that the packages require to exist or be in one or another format. In any case, I'd done some similar monkeying with Feisty, so I wasn't confident that the distro upgrade would work flawlessly.
I finally made the plunge last night after a marathon of converting images (renaming more logically/usefully, at my wife's request), videos (converting in kino to divx so that they're 1/4 to 1/6 original size), and backing up everything (rdiff-backup to my external hard drive, and the images and videos to my wife's external hard drive and laptop, because losing timmmy's pictures and videos is inconceivable).
As usual, I didn't get a flawless upgrade. Fortunately, however, this time there was just one major problem. Initially there was a weird minor issue when the distro upgrade seemed stuck. I did an strace on the process and noticed that it seemed to be in a loop working on the linux kernel image. So I killed that and after a
dpkg --configure -a
restarted the distro upgrade. It worked better after that, asking me what to do about config files that I'd manually modified. For some questions I kept my changes (always after viewing a diff of the config files), others I allowed the distro to replace my changes.
Again, though, the distro upgrade failed. This time on an openoffice.org package that involved mobile devices (not sure how I got that installed, probably with the openoffice.org evolution integration package). That was bad enough that I had to dpkg --configure -a again, and then remove all the openoffice.org packages so that the upgrade could continue.
I had to go to bed after some pressure from my wife, and then a 30 minute brownout almost broke the install. After more pressure from my wife (including her turning off and unplugging my laptop :-), I finally went to bed and restarted the distro upgrade in the morning. Fortunately, everything worked fine after that and I've got a usable Gutsy system now.
There is one problem though. Firefox 2.0.0.8 (even with all add-ons removed) crashes randomly on some sites, and consistently (as in EVERY SINGLE TIME) on blogger. Which is why I'm posting this using epiphany. I was going to use Opera, but I decided to try the different browsers available with Ubuntu first before switching to Opera. Galeon breaks in the same way Firefox does. Clearly it uses the same buggy library. Fortunately, epiphany works well. I think I'll switch to epiphany until Firefox is fixed. I'm sure going to miss adblock though, and noscript, etc.
I use gnomad2 (since we've got a creative nomad zen mp3 player which we use mainly to play lullabies for Timmy to sleep to), and that works perfectly. I'm hoping that kino and ffmpeg work a bit better in Gutsy. In Feisty, most files would convert to divx medium quality. But some files would produce zero length .avi files. Those I'd have to reconvert to the next higher quality level just so that it'd be divx (and still half the size of the original avi file). I'll have to test kino with ffmpeg again on those files :-).
Upgrade: I broke down and googled for the firefox problem (first I ran firefox in a terminal so I could see the error message when it died).
It's a bug with libhunspell. The workaround is to disable spell checking in firefox. Turn off Edit|Preferences|Advanced|Check my spelling as I type..
Cool. I was liking epiphany, but some things were irritating (no multiple home pages, no multiple rows of tabs, although I really liked how fast it was, but no NoScript or AdBlock).
Monday, October 29, 2007
Slow, interactive, but it works -- looking for scripts
I've got a lot of videos of my son. When imported from the camera they're AVI files (yes, I know that's just a container, but I don't know enough about video formats to know what the actual encoding is).
The videos are pretty large. I've found a good way to make the files smaller though. Using kino, I import them (I get a larger .dv file). And then convert it to MPEG4 AVI. That works pretty well. Large files (150MB or more) convert (at High Quality, full size, progressive, 2240 kb/s) to about 1/6th the original AVI size. Small files (30MB or so) only convert to half the original size. But that's pretty good, nevertheless. The proximate reason for looking for ways to encode the files to be smaller is because I post some of them to youtube and those original AVI files greater than 100MB get rejected.
Kino has a .FLV converter too. That's interesting. But I don't think I want to keep archives of .FLV files. I'm a bit conservative about file formats and I tend to go with standards (de-factor, or de-jure) when given the choice between file formats which are on different points on the standard-non-standard continuum.
I've looked around for scripts to do this conversion. Haven't looked hard enough though, apparently. I could read the manpages and learn enough about video and audio encodings and transcoding so that I could hack up my own scripts. Too lazy to do that though. I'll wait until something comes along that's better than what I've got.
This is what it feels like to be a mere user :-). Normally I'd just totally geek and learn what I needed to get something working. Taking care of my son, and taking videos, and juggling disk space so that the videos will fit and can be backed up though, that takes all my time :-).
I've looked (via ps auxw) at the command line commands that kino spews to do the conversion. I may test some of that out. I don't know if everything I need is in there though. If it is, and a test works tomorrow, I'll hack something up and possibly post it here. But possibly not, too. Nonworking holiday tomorrow, I'll be playing with my son :-).
The videos are pretty large. I've found a good way to make the files smaller though. Using kino, I import them (I get a larger .dv file). And then convert it to MPEG4 AVI. That works pretty well. Large files (150MB or more) convert (at High Quality, full size, progressive, 2240 kb/s) to about 1/6th the original AVI size. Small files (30MB or so) only convert to half the original size. But that's pretty good, nevertheless. The proximate reason for looking for ways to encode the files to be smaller is because I post some of them to youtube and those original AVI files greater than 100MB get rejected.
Kino has a .FLV converter too. That's interesting. But I don't think I want to keep archives of .FLV files. I'm a bit conservative about file formats and I tend to go with standards (de-factor, or de-jure) when given the choice between file formats which are on different points on the standard-non-standard continuum.
I've looked around for scripts to do this conversion. Haven't looked hard enough though, apparently. I could read the manpages and learn enough about video and audio encodings and transcoding so that I could hack up my own scripts. Too lazy to do that though. I'll wait until something comes along that's better than what I've got.
This is what it feels like to be a mere user :-). Normally I'd just totally geek and learn what I needed to get something working. Taking care of my son, and taking videos, and juggling disk space so that the videos will fit and can be backed up though, that takes all my time :-).
I've looked (via ps auxw) at the command line commands that kino spews to do the conversion. I may test some of that out. I don't know if everything I need is in there though. If it is, and a test works tomorrow, I'll hack something up and possibly post it here. But possibly not, too. Nonworking holiday tomorrow, I'll be playing with my son :-).
Sunday, October 21, 2007
Gmail Advanced
I just went and installed Better Gmail and Gmail Manager on my laptop, both firefox add-ons. I'm going to have to install both of those everywhere.
The Mail.app mac-like skin from Better Gmail looks great. I first tried Super Clean but abandoned it quickly since I found it unusable.
GMail manager lets me have two or more tabs to gmail, each tab being a different account. That's very useful and I may finally switch over to using web based gmail for my gmail accounts because of that (I'll still have to keep evolution for backup and for access to my IMAP email at work. But finally GMail is much more usable when I can have multiple tabs, one for each account.
I've also finally found a convenient way to download my spam (which I use to train a bogofilter adaptive filter, just for fun). I think Gmail must have fixed their POP3 support somehow. Previously, this technique didn't work but now it does. The solution is to:
A. go to the Spam folder
B. select all messages on the current page
C. add those messages to a label (e.g., ZSpamX)
D. mark the email not spam.
E. wait until they're downloaded by my fetchmail process running elsewhere.
F. once everything is downloaded, go into the label, select everything and mark them all Spam.
G. Go into Spam folder and delete all Spam.
Unfortunately, D doesn't work with the gmail "select everything" link that pops up as an option when we've pressed the (Select) All link. So if I've got several pages of spam, I need to do A-D for each page. That's not bad though since I've got gmail setup to show 100 emails at a time.
To be clear, that last is not a problem with either of the Gmail related plugins. It's an issue with how Gmail works to begin with. Probably as a bar against people making a dumb mistake that does too global a job to the selected email the "select everything" link that pops up when you click All does not all you to assign the same label to all matching emails, nor does it allow you to Unmark all matching emails Spam. I don't remember if it allows marking all matching email spam. I've already collected and remove all my spam, so now I don't remember whether marking all the spam messages spam again was one step or ten.
In any case, the C and F steps are vital. I don't think they previously worked. Or if they did, I didn't think to try them back then. It's great though, now, to be finally able to grab all my spam so I can train my own spam classifier. Sometimes spam gets past all the spam classifiers between me and the internet, then I'd like to have a personal spam classifier customized to my needs, similarly, sometimes mail from friends or mailing lists is marked spam by mistake. Seeing all the spam and running them through my own classifier gives me a better chance of finding the false positives since at least I control the classifier.
The Mail.app mac-like skin from Better Gmail looks great. I first tried Super Clean but abandoned it quickly since I found it unusable.
GMail manager lets me have two or more tabs to gmail, each tab being a different account. That's very useful and I may finally switch over to using web based gmail for my gmail accounts because of that (I'll still have to keep evolution for backup and for access to my IMAP email at work. But finally GMail is much more usable when I can have multiple tabs, one for each account.
I've also finally found a convenient way to download my spam (which I use to train a bogofilter adaptive filter, just for fun). I think Gmail must have fixed their POP3 support somehow. Previously, this technique didn't work but now it does. The solution is to:
A. go to the Spam folder
B. select all messages on the current page
C. add those messages to a label (e.g., ZSpamX)
D. mark the email not spam.
E. wait until they're downloaded by my fetchmail process running elsewhere.
F. once everything is downloaded, go into the label, select everything and mark them all Spam.
G. Go into Spam folder and delete all Spam.
Unfortunately, D doesn't work with the gmail "select everything" link that pops up as an option when we've pressed the (Select) All link. So if I've got several pages of spam, I need to do A-D for each page. That's not bad though since I've got gmail setup to show 100 emails at a time.
To be clear, that last is not a problem with either of the Gmail related plugins. It's an issue with how Gmail works to begin with. Probably as a bar against people making a dumb mistake that does too global a job to the selected email the "select everything" link that pops up when you click All does not all you to assign the same label to all matching emails, nor does it allow you to Unmark all matching emails Spam. I don't remember if it allows marking all matching email spam. I've already collected and remove all my spam, so now I don't remember whether marking all the spam messages spam again was one step or ten.
In any case, the C and F steps are vital. I don't think they previously worked. Or if they did, I didn't think to try them back then. It's great though, now, to be finally able to grab all my spam so I can train my own spam classifier. Sometimes spam gets past all the spam classifiers between me and the internet, then I'd like to have a personal spam classifier customized to my needs, similarly, sometimes mail from friends or mailing lists is marked spam by mistake. Seeing all the spam and running them through my own classifier gives me a better chance of finding the false positives since at least I control the classifier.
Tuesday, October 16, 2007
On 40 tips for optimizing PHP code
I saw something like Reinhold Weber's 40 tips for optimizing PHP code maybe a year ago. Recently, this particular set of 40 tips popped up on reddit. I decided to test. Now, my tests are trivial, on the command line, on Ubuntu. YMMV. Particularly with respect to "trivial", since the tests are so small they're likely to stay in L1 or L2 cache, so they may not look like other people's more complex tests since they're not likely to trigger cache misses.
Alright, after the first two tests, I've decided that this is probably not worth doing. I may continue writing some tests, but:
1 - use static if possible - 1.25 percent difference.
2 - echo is faster than print - yeah, by 1.35 percent.
Some of those tips might actually be pretty useful (I'll run some more tests over the next few days), but these two aren't very useful. Sure, if you applied 100 optimizations, each giving a 1 percent improvement you'd double the speed of your program. But I routinely improve the speed of programs by orders of magnitude by improving SQL queries, creating appropriate indexes and simplifying complex code. Most of those 40 tips sound like micro-optimizations which aren't worth the trouble to implement.
To be sure, error suppression with @, apart from being slow, is usually a mistake (turn on error logging in development, push error logging to a file or syslog rather than stdout in production), and $row[id] is just stupid and the sign of an incompetent developer, as are incrementing uninitialized variables and #31. Using mysql is almost always a mistake (it has its uses, but everywhere I've worked, mysql has always been the wrong tool and anyone who implemented it [i.e., me] always regretted the decision later).
3 - avoid magic (__get, __set, __autoload) functions - OK. magic __get and __set [together]
are half the speed of accessing the variables directly. So there's certainly some cost
to the indirection. It may be that high level frameworks could (and should) use the
magic functions to abstract away details. I've avoided them for now though since they
don't improve maintainability or quality of the code I currently work with, although I'd
be open to using them if I were to work on something significantly more complex than what
I work with now. I don't see anything that complex on the horizon though, I'd probably
switch to another language for anything complex (perhaps java, perhaps python, it'd depend
on the project).
Alright, after the first two tests, I've decided that this is probably not worth doing. I may continue writing some tests, but:
1 - use static if possible - 1.25 percent difference.
2 - echo is faster than print - yeah, by 1.35 percent.
Some of those tips might actually be pretty useful (I'll run some more tests over the next few days), but these two aren't very useful. Sure, if you applied 100 optimizations, each giving a 1 percent improvement you'd double the speed of your program. But I routinely improve the speed of programs by orders of magnitude by improving SQL queries, creating appropriate indexes and simplifying complex code. Most of those 40 tips sound like micro-optimizations which aren't worth the trouble to implement.
To be sure, error suppression with @, apart from being slow, is usually a mistake (turn on error logging in development, push error logging to a file or syslog rather than stdout in production), and $row[id] is just stupid and the sign of an incompetent developer, as are incrementing uninitialized variables and #31. Using mysql is almost always a mistake (it has its uses, but everywhere I've worked, mysql has always been the wrong tool and anyone who implemented it [i.e., me] always regretted the decision later).
3 - avoid magic (__get, __set, __autoload) functions - OK. magic __get and __set [together]
are half the speed of accessing the variables directly. So there's certainly some cost
to the indirection. It may be that high level frameworks could (and should) use the
magic functions to abstract away details. I've avoided them for now though since they
don't improve maintainability or quality of the code I currently work with, although I'd
be open to using them if I were to work on something significantly more complex than what
I work with now. I don't see anything that complex on the horizon though, I'd probably
switch to another language for anything complex (perhaps java, perhaps python, it'd depend
on the project).
Thursday, October 11, 2007
More RAM in my next job -- and multitasking limits (not enough RAM in my brain)
I've got a slow computer (800Mhz) with a reasonable amount of RAM (640MB) at work. My laptop is twice as fast, with twice as much memory. But of course, the laptop hard drive is slower than the desktop hard drive.
I've been twiddling my thumbs quite a lot lately because a lot of my work has been very disk intensive. I could be speeding things up by not doing svn update of 300MB of source, instead going to just the directories that have been modified and doing the svn update there, but then that would require knowing intimately what the other developers are doing. And *they* don't necessarily remember all the directories they committed into.
So, in my preference for dumb solutions that work all the time (e.g., svn update at the root of the tree) versus smart solutions that can easily fail (svn update to targeted directories, possibly missing other directories with fixes), I just svn update at the root. I do similar things with very large databases too, and very large file copies (rsync). The dumb solution that works all the time but is not always optimal is more cost-effective than the smart solution that will take three weeks to shake all the bugs and corner cases out of.
I'll optimize (spending that three weeks later on), when the need arises.
If I'm going to be doing much the same in my next job, then I'm going to require my employer to get me the right hardware. So I'll have 4GB of RAM (or more), and the fastest SCSI drives money can buy, in RAID-0 with rdiff-backup to RAID-1 slow SATA drives. And then I'm going to do all my svn work in a 2GB ramdisk. Hahahahaha.
I was discussing the edges of this (in the context of multitasking) with the boss of my boss and he said, "well, so you can do other things while waiting for those long tasks to finish, right?". This was in the context of a query that ran for 22 hours (and yes, I got pissed off enough at that to set up an aggregated materialized view built via triggers [postgresql] so that it now runs in an hour). At the time I said, yes, so I can multitask and need not twiddle my thumbs.
I'm finding that there are limits to multitasking though. I get confused and forget to do important steps when the list of tasks hits more than 5 or so. So its best to stick with 4-5 concurrent tasks. So if all 4 or 5 of those tasks take more than an hour, I'm back to twiddling my thumbs because I just don't do well if I add another task. As designated mentor at work, I don't actually have to twiddle my thumbs though. Instead, I can stick my nose into my colleagues work and offer unsolicited advice. Sometimes it's even good advice :-).
I've been twiddling my thumbs quite a lot lately because a lot of my work has been very disk intensive. I could be speeding things up by not doing svn update of 300MB of source, instead going to just the directories that have been modified and doing the svn update there, but then that would require knowing intimately what the other developers are doing. And *they* don't necessarily remember all the directories they committed into.
So, in my preference for dumb solutions that work all the time (e.g., svn update at the root of the tree) versus smart solutions that can easily fail (svn update to targeted directories, possibly missing other directories with fixes), I just svn update at the root. I do similar things with very large databases too, and very large file copies (rsync). The dumb solution that works all the time but is not always optimal is more cost-effective than the smart solution that will take three weeks to shake all the bugs and corner cases out of.
I'll optimize (spending that three weeks later on), when the need arises.
If I'm going to be doing much the same in my next job, then I'm going to require my employer to get me the right hardware. So I'll have 4GB of RAM (or more), and the fastest SCSI drives money can buy, in RAID-0 with rdiff-backup to RAID-1 slow SATA drives. And then I'm going to do all my svn work in a 2GB ramdisk. Hahahahaha.
I was discussing the edges of this (in the context of multitasking) with the boss of my boss and he said, "well, so you can do other things while waiting for those long tasks to finish, right?". This was in the context of a query that ran for 22 hours (and yes, I got pissed off enough at that to set up an aggregated materialized view built via triggers [postgresql] so that it now runs in an hour). At the time I said, yes, so I can multitask and need not twiddle my thumbs.
I'm finding that there are limits to multitasking though. I get confused and forget to do important steps when the list of tasks hits more than 5 or so. So its best to stick with 4-5 concurrent tasks. So if all 4 or 5 of those tasks take more than an hour, I'm back to twiddling my thumbs because I just don't do well if I add another task. As designated mentor at work, I don't actually have to twiddle my thumbs though. Instead, I can stick my nose into my colleagues work and offer unsolicited advice. Sometimes it's even good advice :-).
Wednesday, October 03, 2007
Software is Hard
Kyle Wilson has a great article on software development, compromises, economics, complexity, lines of code, and why Software is Hard
I use "economics" the way I normally do though (which is not the way it usually is meant in RL, but possibly how it would be meant among economists). It's not just about money but about compromises among competing values and how different weights among the different values affect the outcome (which is usually also measured along several dimensions).
I use "economics" the way I normally do though (which is not the way it usually is meant in RL, but possibly how it would be meant among economists). It's not just about money but about compromises among competing values and how different weights among the different values affect the outcome (which is usually also measured along several dimensions).
Monday, October 01, 2007
vim on slow links (sshfs)
Sometimes (as today), I need to edit files remotely. If the bandwidth is slow (PLDT myDSL has some occasional bogosity where my route to the office, which is normally just 5 hops, bounces between two internal routers whose IP addresses differ only by 1 in the last octet, so then my vpn goes to the other links and the hop count goes to 18 or so because it's overseas), editing remotely is intolerable.
Then I go with sshfs. I've got a script that mounts my working copy over sshfs. I always need to remember to setup vim though to not use swapfiles. So, from the man page,
-n No swap file will be used. Recovery after a crash will be impossible
Handy if you want to edit a file on a very slow medium (e.g. floppy).
Can also be done with ":set uc=0". Can be undone with ":set uc=200".
I've got an annotation in my ~/.vimrc (normally commented out) to set uc=0,
but I forget that it's there and I always google for sshfs vim swap file. And
then I go to this page, which doesn't have the answer :-).
I would post the solution so that the question doesn't stay unanswered indefinitely. If I could reply without joining the group I'd do that. But joining is required, and I'm no joiner. So the best I can do is point at it here.
Heheh, this will also help ME since I would normally query something like:
monotremetech sshfs vim swap
:-)
Then I go with sshfs. I've got a script that mounts my working copy over sshfs. I always need to remember to setup vim though to not use swapfiles. So, from the man page,
-n No swap file will be used. Recovery after a crash will be impossible
Handy if you want to edit a file on a very slow medium (e.g. floppy).
Can also be done with ":set uc=0". Can be undone with ":set uc=200".
I've got an annotation in my ~/.vimrc (normally commented out) to set uc=0,
but I forget that it's there and I always google for sshfs vim swap file. And
then I go to this page, which doesn't have the answer :-).
I would post the solution so that the question doesn't stay unanswered indefinitely. If I could reply without joining the group I'd do that. But joining is required, and I'm no joiner. So the best I can do is point at it here.
Heheh, this will also help ME since I would normally query something like:
monotremetech sshfs vim swap
:-)
Subscribe to:
Posts (Atom)