|
 |
My name is Yermo Lamers and this is my personal website. To get in touch with me, please use the Contact Yermo page. YML.COM is a place where a few friends of mine and I post and discuss things we're interested in which range from motorcycles and boats to technology, software, politics and the environment. I wrote all the software that runs this site for my company DTLink LLC, so if it doesn't work or errors out it's my fault. The underlying framework, called formVista, I open sourced some time ago. The rest, called MOBIE, I am planning on open sourcing once I get some time. Check out the blue navigation links on the left for links to the rest of the site. The rest of this page is just a collection of articles I and the other members of YML.COM find interesting.
| Search Articles |
|
|
|
Many folks who are forced to multitask on an ongoing basis already understand that multiple demands on attention can slow you down and carry significant switching costs. An article over at the Atlantic looks at this in detail; you can read it here.
|
| |
(0 Comments) |
|
|
|
|
|
As reported on slashdot:
"The effects of mobile phone radiation on sleep were studied in Sweden in a laboratory experiment
where subjects were exposed either to 884 MHz GSM radiation or placebo.
The study finds that compared to placebo, in the radiation-exposed
subjects there was a prolonged latency to reach the first cycle of deep
sleep (stage 3). The amount of stage 4 sleep was also decreased.
Moreover, participants that otherwise have no self-reported symptoms
related to mobile phone use, appear to have more headaches during
actual radiofrequency exposure as compared to sham exposure."
See the full article at slashdot.org
|
| |
(0 Comments) |
|
|
|
|
|
A recent European study indicates that individual brain cells may be far more capable than previously understood.
Get the details here.
|
| |
(0 Comments) |
|
|
|
|
|
This was a head scratcher.
I had the misfortune of working on a Solaris 10 server today that exhibited the most bizarre problem. Despite having Mysql 5.0.45 installed in /usr/local/mysql and explicitly setting --with-mysql=/usr/local/mysql PHP configure option, phpinfo() consistently reported that the Mysql Client API version was 4.0.24.
I couldn't for the life of me find any mention of libmysqlclient.so.12 on the machine. Because my access was restricted, I couldn't easily do a find / -name "libmysqlclient.so.12".
As unlikely as it sounds, the 4.0.24 Client API version was getting pulled in as a result of the --with-openssl PHP configure option. It worked as follows:
- In their infinite wisdom, Sun Microsystems decided to ship old versions of open source software and install them in a completely non standard location "/usr/sfw".
- The openssl libraries are installed in /usr/sfw along with Mysql 4.0.24.
- The PHP Configure script knows about the /usr/sfw directory on Solaris and will look for libraries there.
- Once Configure finds the openssl libraries in /usr/sfw it includes /usr/sfw/include and /usr/sfw/lib into the Makefile INCLUDE and LD search paths /BEFORE/ /usr/local/mysql/lib and /usr/local/mysql/include.
- As a result, during the make, the linker finds libmysqlclient.so.12 in /usr/sfw/lib instead of /usr/local/msyql/lib.
The solution is to either uninstall the Solaris 4 package or to upgrade it using instructions found here:
http://www.sun.com/bigadmin/features/articles/samp_setup.jsp
If you can't do either you hack the Makefile and edit the paths by hand.
Have I mentioned recently how much I hate Solaris? Actually I hate it more than I do Windows, and that's saying something.
|
| |
(0 Comments) |
|
|
|
|
|
|
|
The hottest holiday gift this year for parents will be a home lead testing kit. Stock up now before they're gone.
|
| |
(1 Comments) |
|
|
|
|
|
There is an issue with recent 2.6 kernels and some ATA/SATA controllers which I have run into while trying to install both CentOS 5 and Kubuntu 7.10 (Gutsy Gibbon). Initially, even the boot CD would not work from the builtin DVD reader. To boot the first time I used an external USB DVD. The relevant error was "failed to set xfermode". See http://fak3r.com/2007/06/22/failed-to-set-xfermode-solved/ for more info.
Essentially you need to add irqpoll to the linux boot line. You can do this, after install, by editing /boot/grub/menu.lst and adding irqpoll to the #defoptions line. At the the end of the install process before rebooting open a terminal and do a "chroot /target /bin/sh". Then cd to /boot/grub and edit menu.lst.
If you do not have a USB cdrom available see this post about passing kernel options to grub on boot:
http://www.redhatmagazine.com/2007/03/21/using-grub-to-overcome-boot-problems/
Since I had a USB drive available I did not have to do this.
|
| |
(0 Comments) |
|
|
|
|
|
As part of large project I'm working on, I need to create some kind of context sensitive online help system for a web application. I've used LyX in the past and exported that to DocBook which I then ran through an HTML filter but it's clumsy and there's no good maintainable way to link sections of the webapp to the generated html pages. For a given bit of help information you don't know which page it will end up on.
I decided instead of using a hodgepodge of technologies, I would try to use OpenOffice.
OpenOffice has an XSLT engine useful for transforming ODT files to other formats including XHTML. They have a sample XHTML export filter which works fairly well but, at the present moment, only seems to generate a single monolithic page. I'll deal with that later.
The concept I had was, somehow, to include specially formatted <a name=""> tags in the generated HTML to mark points that I want to link to from my application. I figure I could use some standard naming scheme like "special_prefix|section|feature". I could then write a quick indexer that could crawl through the generated HTML files looking for the special_prefix and create an index identifying which features are documented in which HTML files. Then it's a simple matter of writing a little index lookup utility; pass it the section and the feature you want the documentation for and have it displayed. Of course since the OpenOffice XHTML export only supports a single monolithic file, this isn't strictly necessary, but eventually I want to get the filter to generate multiple pages and the last thing I want to have to do is crawl through the app and update links every time I change the documentation.
OpenOffice doesn't seem to support much in the way of metadata, so as a proof of concept I used the bookmark feature. I created a sample document and dropped bookmarks at various places.
The stock XHTML export filter ignores bookmarks so I had to modify the share/xslt/export/xhtml/body.xsl filter definition to include a section to turn ODT bookmark tags which look like:
<text:bookmark text:name="ecommerce|customer_list"/>
to <a name=""> tags like:
<a name="_fv_HELP|ecommerce|customer_list" />
in the generated HTML. the _fv_HELP is just a arbitrarily chosen string that I can be relatively sure will not be present in any other <a name=""> tags so I can use that to search on to find the tags I'm interested in.
After much trial and error, I added:
<xsl:template match="text:bookmark"> <xsl:param name="globalData" />
<xsl:element name="a"> <xsl:attribute name="name">_fv_HELP::<xsl:value-of select="@text:name"/></xsl:attribute> </xsl:element>
</xsl:template>
to body.xsl right above the first link definitions and it seems to work. The <a name=""> tags are exported to the right places in the generated HTML.
|
| |
(0 Comments) |
|
|
|
|
|
The machine this site is running on is an old dual PIII 600. The unfortunate thing is that some of the software running on it uses binary-only components that won't run under later versions of linux. So while I work on a replacement for those components, we're stuck running dns1 for the foreseeable future.
The machine is getting long in the tooth so I needed a fall back plan.
In the past I successfully virtualized a win95 machine using vmware. So I decided to try the same thing on dns1.
dns1 has two drives. The first has four partitions on it. The second has one.
See the article below on getting knoppix to boot off a USB CD ROM drive. The ATAPI cdrom on dns1 had long since died.
Using dd I created single file images of each machine. In my case, I used had a second USB port on the machine and plugged an ext3 formatted external drive into it.
First do an fdisk of your two drives and use the 'p' option to print out the partition table of each. You will need this information later when you go to edit your VMWare virtual machine configuration.
In my case, the two drives were /dev/sda and /dev/sdb.
fdisk /dev/sda press 'p' and hit enter. Copy the information it prints. Exit and repeat for /dev/sdb.
dd if=/dev/sda of=sda.dd dd if=/dev/sdb of=sdb.dd
(obviously you need to be in a directory where you want to deposit the files, either on a large usb drive or possibly samba mounted over some network. In my case I used a large USB drive formatted with the ext3 filesystem. FAT32 won't work as it has a 2gig file size limit.)
7.5 hours later ....
I then copied the two nine gig image files over to a laptop where I could work with them.
For creating the virtual machine setup I referred to this article. See the bottom of the article as you will most likely want to image the entire drive, not just individual partitions.
http://www.davidlaporte.org/tutorials/ghostinthemachine.html
Using VMWare 5.5.1 I created a new blank virtual machine with two 9 gig SCSI drives. To add the second drive go to "Edit this virtual machine" after you've created it. Click on hard disk. Click the Add button at the bottom.
Some notes on what I did:
Copy the image files to the directory where you created your new virtual machine.
Per instructions in the article above edit the two vmdk files to match the geometry of your physical drives.
In my case, the partition tables on the two drives looked like this:
Disk /dev/sda: 255 heads, 63 sectors, 1106 cylinders Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System /dev/sda1 * 1 392 3148708+ 83 Linux /dev/sda2 393 1106 5735205 5 Extended /dev/sda5 393 784 3148708+ 83 Linux /dev/sda6 785 817 265041 82 Linux swap /dev/sda7 818 1106 2321361 83 Linux
Disk /dev/sdb: 255 heads, 63 sectors, 1106 cylinders Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System /dev/sdb1 * 1 1106 8883913+ 83 Linux
The image files were:
-rw-r--r-- 1 root root 9105018880 Jul 26 17:33 sda.dd -rw-r--r-- 1 root root 9105018880 Jul 26 17:33 sdb.dd
When you edit the vmdk files use "vi". There will be some binary code leading up to the first text strings. Do not touch any of the binary, just edit the text.
Since my two drives are identical, the two vmdk files are almost identical:
# Disk DescriptorFile version=1 CID=8a2fdbad parentCID=ffffffff createType="monolithicFlat"
# Extent description RW 17767890 FLAT "sda.dd" 0
# The Disk Data Base #DDB
ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "1106" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.adapterType = "buslogic" ddb.toolsVersion = "0"
It has to be "monolithicFlat' for the createType since you have a single image file. For the extent description the referenced article says that you take the size of the dump file and divide it by 512. That yielded 17783240 which is different than multiplying 63 * 255 * 1106 = 17767890. I used the latter number and it seemed to work fine. Note that if you do not add the "0" at the end of the line, which I did by mistake in my first test, vmware will fail to recognize the drive.
Also note that vmware does not support emulating an adaptec controller. There are two options, LSI and BusLogic. As the particular install of Redhat 6.1 I had on the old PIII did not have an LSI driver I opted to use the BusLogic driver. This causes a few complications which are dealt with below. The release notes for vmware indicated there may be some problems with the BusLogic driver under Redhat 6.1 but I have not noticed any yet.
You may also have to edit the .vmx file if you did not choose to create virtual "SCSI" disks in the vmware step. See the references article for more details.
You can try to boot your VMware virtual machine now and the you should get a boot prompt if you did everything correctly in the steps above, however your old Redhat 6.1 install will not find the file systems and will kernel panic.
In order to get Redhat 6.1 to be able to talk to your new virtual drives you need to replace the driver you were originally using, in my case Adaptec, with a BusLogic driver. This means rebuilding the "initrd" file, which ended up being a real pain.
You must find a boot CD that has the same major version of the kernel on it as your old distribution. In this case, RedHat 6.1 runs a Linux 2.2 kernel. Originally I tried to boot using a 2.4 Knoppix CD, but the mkinitrd script would fail. Duh, different major kernel versions.
So I borrowed a RedHat 6.1 install CD and booted it in rescue mode. (i.e. type linux rescue at the prompt).
The problem I now faced was the the old RedHat 6.1 CD did not create device entries for /dev/sda1, which is my boot partition.
To create the device file manually you need to cd to the /dev/ directory and run the command:
mknod sda1 b 8 1
Now you'll have a device file for the partition so you can mount it. (If your boot partition is another device, do a google search on "mknod and the name of the device you want to create and you'll find the parameters)
Mount your boot partition, which in my case was an ext2 filesystem:
mkdir /mnt/sda1 mount -t ext2 /dev/sda1 /mnt/sda1
You need to chroot into it:
cdroot /mnt/sda1
Now you can edit /etc/modules.conf to change your driver which in my case contained:
alias scsi_hostadapter aic7xxx
which I changed to
alias scsi_hostadapter BugLogic
then cd to /boot and run:
mkinitrd -v -f /boot/initrd-2.x.y-zz.img 2.x.y-zz,
Where x.y.-zz is the version of the kernel on your old machine, not the version that's running on the CD.
Now in my case since it's an old RedHat 6.1 install I needed to run lilo for the changes to take effect.
Shutdown and reboot and your virtualized copy of your physical machine should boot just fine.
For additional information refer to these two articles:
http://www.vmwiz.com/
http://virtualaleph.blogspot.com/2007/05/virtualize-linux-server-with-vmware.html
If you have any questions about what I did here please feel free to contact me.
|
| |
(0 Comments) |
|
|
|
|
|
Cool article covering a bit of increasingly ancient linux history:
Linux: The 0.01 Release The first Linux distribution I used was SLS and included the .99pl12 kernel if I remember correctly. I had been working under SCO Unix for quite a while at that point and encountering Linux freed me from that hell. It's been my main development OS ever since.
|
| |
(0 Comments) |
|
|
|
| Search Articles | |
|
 |
© Copyright 1997-2008
DTLink Software, LLC
All Rights Reserved
|
Powered by:
|
|
|
 |
|
 |