Black Rebel Motorcycle Club’s Howl and the Sony Rootkit

BRMC’s Howl is one of my favorite albums. I listen to it all the time. Mostly for the song “Ain’t No Easy Way Out”. I’m a sucker for acoustic rock songs, though I love the whole album. But I’d never recommend the album to any of my friends. Why? It could damage your computer.

Sony, in their never ending quest to punish their customers, put an auto-installing root kit on the CD. If you purchase the CD and listen to it on your computer the root kit will silently will install itself, phone home to Sony, hide all files that begin with ‘$sys$’, as well as cause occasional crashes and lockups. Attempts to remove the rootkit will disable your cdrom.

For more information check out this article. There was a class-action lawsuit against Sony because of the damage caused by the rootkit that was settled in 2005. But there’s still a ton of these CDs floating around out there so be careful.

But there’s hope! Now thanks to Amazon I can finally recommend this album to friends as a mp3 download. I recommend you give it a listen.

xorg.conf for IBM ThinkPad 1171 iseries

I’ve been setting up an old IBM laptop for my brother write papers and play freeCiv on. The Windows XP installation that was previously on the laptop had no problem displaying 1024×768 @ 60Hz, (and didn’t do much else, but that’s not what this article is about.) Once I installed Ubuntu the laptop would only display a small box at 800×600.

I spent a lot of time searching on Google for the magic line that would make the X server recognize this laptop monitor. There were a few other people on the internet that had posted questions about this, but there was either no answer or even more frustrating they had posted to their own questions “I figured it out” without any explanation. I knew it was possible, but I was just going to have to figure it out on my own. I had learned a few things during my search and this is how I finally got it working:

The first thing I did was back up my original xorg.conf by dropping into the terminal and typing this:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup

Then I used gtf to generate a the code needed to tell X server to use 1024×768 resolution with a refresh rate of 60Hz:

gtf 1024 768 60

This gave me the code:

# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
  Modeline "1024x768_60.00"  64.11  1024 1080 1184 1344  768 769 772 795  -HSync +Vsync

which I pasted into my /etc/X11/xorg.conf under the “Monitor” section

Under the “Monitor” section I also pasted

 Option "PreferredMode" "1024x768_60"

I checked the log file in /var/log/Xorg.0.log and among the other information was the error “hsync out of range”. What I also noticed was that it was unable to determine the monitor type and was using defaults for the monitor hsync and vrefresh values.

The solution was to hard code hsync and vrefresh values that were outside the default range but that didn’t break X server and allowed for 1024×768 resolution. I did brake X server a few times trying to get the values right, but was finally able to boot into 1024×768 full screen.

Below is the xorg.conf that worked for me with the IBM ThinkPad iseries 1171

Section "ServerLayout"
	Identifier     " Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"

Section "Files"
	ModulePath   "/usr/lib/xorg/modules"
	FontPath     "/usr/share/fonts/X11/misc"
	#FontPath     "/usr/share/fonts/X11/cyrillic"
	FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/Type1"
	FontPath     "/usr/share/fonts/X11/100dpi"
	FontPath     "/usr/share/fonts/X11/75dpi"
	FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"

Section "Module"
	Load  "glx"
	Load  "record"
	Load  "dri2"
	Load  "dri"
	Load  "extmod"
	Load  "dbe"

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	Horizsync 47-48
	Vertrefresh 60
	# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
	Modeline "1024x768_60"  64.11  1024 1080 1184 1344  768 769 772 795  +HSync +Vsync
	Option "PreferredMode" "1024x768_60"

Section "Device"
        ### Available Driver options are:-
        ### Values: : integer, : float, : "True"/"False",
        ### : "String", : " Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "AccelMethod"        	# []
        #Option     "SWcursor"           	# []
        #Option     "PciRetry"           	# []
        #Option     "NoAccel"            	# []
        #Option     "SetMClk"            	#
        #Option     "MUXThreshold"       	# 
        #Option     "ShadowFB"           	# []
        #Option     "Rotate"             	# []
        #Option     "VideoKey"           	# 
        #Option     "NoMMIO"             	# []
        #Option     "NoPciBurst"         	# []
        #Option     "MMIOonly"           	# []
        #Option     "CyberShadow"        	# []
        #Option     "CyberStretch"       	# []
        #Option     "XvHsync"            	# 
        #Option     "XvVsync"            	# 
        #Option     "XvBskew"            	# 
        #Option     "XvRskew"            	# 
        #Option     "FpDelay"            	# 
        #Option     "Display1400"        	# []
        #Option     "Display"            	# []
        #Option     "GammaBrightness"    	# []
        #Option     "TVChipset"          	# []
        #Option     "TVSignal"           	# 
	Identifier  "Card0"
	Driver      "trident"
	VendorName  "Trident Microsystems"
	BoardName   "CyberBlade/i1"
	BusID       "PCI:1:0:0"
	Option      "CacheLines" "768"

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
		Modes "1024x768_60"
	SubSection "Display"
		Viewport   0 0
		Depth     16
		Modes "1024x768_60"

Converting arrays, structures, queries, and components to XML in Coldfusion

Back in 2008 I needed a way to convert mixed CF data into XML documents. I had seen Ray Camden’s “toXML” script, but the functionality was too limited for me. I had to write my own from scratch that not only gave me full control over the creation of the XML document, but also allowed me to send in all of the Coldfusion datatypes, including cfc components. The results was AnythingToXML.

Example Code:


The results would look something like:




If you structure your data and then pass it to AnythingToXML along with the optional Root Node name and optional list of XML attributes. AnythingToXML will convert your data to a complex and well-formatted XML documents. It will accept any combination of Arrays, Queries, Structures, Objects, and Simple Types as input.

Future upgrades include adding schema and namespace support.

You can download AnythingToXML Here
More Examples of using AnythingToXML are Here

WordPress Source Code Syntax Highlighting for Coldfusion

If I’m going to blog about code, I need a good syntax highlighter for WordPress. Searching through the many plug-ins available its obvious that there are really only two choices: Plugins that use Google’s Prettify and Plug-ins that use GeSHi.

I first tried the “Google Syntax Highlighter for WordPress” plug-in only to find that it doesn’t do Coldfusion. I downloaded someone’s plug-in for Google’s plug-in that would do Coldfusion Syntax highlighting only to have it start breaking the page layout. There was also a noticable slow down in the page loading. I gave up after spending my morning trying to get this to work.

The next plug-in I tried was “WP-Syntax” which is based on GeSHi. Not only did it support Coldfusion right out of the box, but it worked perfectly the first time I used it! If anyone else needs Coldfusion Source Code Syntax Highlighting for WordPress I highly recommend checking out the “Wp-Syntax” plug-in.

(Code box begins with <pre lang=”cfm”>)

The other plug-in you’ll probably need is the “Raw-HTML” plug-in. This will help keep WordPress from being helpful and scrambling up your code. Unfortunately this doesn’t solve the issue of switching between the HTML tab to the Visual tab. If you do that WordPress will still eat your code.

Hello World!

I’m a web developer and musician. In this industry it seem like most web developers are. I could get full band together with my co-workers.

I program mostly in PHP and Coldfusion. I dabble in C++, Linux, & Music Production.

After much prodding from RabidGadfly and Kristian Hermansen I’ve started this blog to record all the junk thats floating around in my head. I’m no expert, but its possible that some of the things I’ve learned and resources I’ve found could be useful to others.

Besides: everyone else and their grandma has a blog so its time I have one too.

Cranston Bones

It was a Friday and I was spending my lunch break walking in the back parking lot of the Citizen’s bank building. There the heavy rains had washed out one of the embankments into the parking lot. I was kicking stones into the little stream that runs in the ditch nearby to kill the time. I was pretty useless at work; It was one week exactly before my last day on the job. I was just watching the time tick down until I was free from the office forever.

Finally I decided I should head back to the office. On my way back across the washout I kicked something that looked like a stone or stick, but when I kicked it some of the dirt fell off. It was a bone; A big bone. It looked too big to be a deer; it really looked… human.


I thought that I should probably call the cops, human bones: that’s their department. But this was a crazy thing and I didn’t want to get involved. If it was just an old animal bone I’d feel very foolish calling the cops down here. So instead I called my co worker for a second opinion.

She said to definitely call the cops.

I argued that it most likely wasn’t a human bone and I’d feel silly if I got the police to come down here for something stupid. They’re pretty busy. After some time she suggested that I walk next door, to the the fire department, and get a firefighter to look at it. They might know what human bones look like and then they can call the cops. I just wanted a second opinion after all. I took a picture of it with my cellphone and, knowing full well that human bones are not the Fire Department’s department, I headed next door to the fire department.

My lunch break headed into its second hour.

I walked through the fire department’s door and into a dark hall. I heard someone call “hello?” and turned the corner to see a dozen men watching TV. I said hi to all the fire fighters and showed them all the picture on my cell phone. They said it definitely looked human so one of them called the cops.

I hung out with a friendly EMT until the cops showed up.

First the Sargent showed up. Then a regular patrol man. I showed them the pic and they wanted to go to the scene. The regular cop offered to give me a ride in his cruiser which I accepted, “Cool I’m gonna ride in a police car” I thought to myself. He opened the back door to the cop car and said that he to pat me down before I could get in the back of the car.

I was patted down and then got into the backseat, behind the barrier. I was getting that irrational fear of cops thing pretty strong right about this time. The car started to move and the officer got on his radio:

“This is officer ____ en route from fire station 4 transporting adult white male to Davol parking lot.”

I was nervous.

We drove back behind the building to the corner of the parking lot and the officer let me out of the car. The few Citizen Bank employees that were nearby starred at me.

I showed the Sargent and the officer the big bone.
“That looks human” they said
“Were there anymore?” one asked. And before I could answer the other one said “Hey there’s another one -and its even bigger!”

It was big. And then we noticed that there were bones everywhere. I had been walking all over bones for the previous hour and just hadn’t noticed a thing.


The Sargent couldn’t get Crime Scene on the phone. He called repeatedly until finally he gave up and let his phone rest. I stood back and tried to take pictures with my cell phone. The younger officer noticed me doing this and asked me to stop.

They asked me for a witness statement and all my information. Afterwards the Sargent said. “Why don’t you stick around for a bit.”

That didn’t help my irrational nervousness. My heart was beating faster. I called my boss, not just to tell her where I was, but also maybe it could turn into an excuse to leave. She didn’t answer. I left a voicemail saying that I was hanging out with the police in the back parking lot.

My lunch break stretched on.

Eventually the Crime Scene Investigation van showed up after about an hour and then things really got down to business. They took a lot of photos and then pulled the big bone out of the ground. It was obviously a femur. You could tell from the ball joint at the end.

Image001 (1)

I didn’t just find one big bone. Now I was at a crime scene. Any fun there may have been in my exciting lunch break was gone and now this was s erious business. I really wanted to leave the scene now.

I called my boss again, but still no answer. I called my co worker, but she didn’t pick up either.

Then I saw my co worker. She was walking through the parking lot and bringing me a glass of water. She asked me if everything was ok and if I needed a drink. It was hot out. I was so happy to see a familiar face.

This was it; It was time to make my escape.

I asked the officers nicely if I could leave. I said “Well its been really interesting watching you guys work, but I’d like to sit down. Its hot out here. If you don’t mind I’d really like to go back inside”

The officers looked at each other for a moment in some secret cop-signal. Then the Sargent spoke.
He said “Are you just going to be inside?”
“Yes sir”
“And are we going to be able to get in contact with you?”
“Yes sir”
“Yea you can go”

I walked away. Fast, but not so fast as to look suspicious.

Inside I was bombarded with questions and people. I showed them all the bone picture on my phone. Then we went out on the roof and watched. By then the whole area was taped off with yellow crime tape and there were more cops and men with ties who were not in uniform. By the time I left channel 10 was there filming for the 6 O’clock news.


Later on it occurred to me that I still felt a little odd about kicking someone’s bones around. My apologies, sir, I did not realize that it was your leg.

Update: Read the links for more bone news!


Lost for decades, the remains of the forgotten are found

01:00 AM EDT on Friday, June 30, 2006

Journal Staff Writer

CRANSTON — They were forgotten in life and forgotten in death.

They were paupers and petty criminals. They were old or just infirm. Some of them were deemed “incurably insane.”

The one thing they had in common, at the turn of the 20th century, was that they had no place to live except the gloomy State Farm, with its barn-like dormitories off Pontiac Avenue. And when they died, many were given a no better resting place than an unmarked grave in one of the state potter’s fields.

Apparently one of these burial grounds was forgotten even by the state. It was rediscovered only last week when someone on a lunchtime stroll came upon human bones in a weed-choked field behind the former Davol building, on Sockanosset Cross Road. The remains had been unearthed by the recent harsh rains.

The site was secured by the police as a potential crime scene until experts were able to determine that the bones dated back to the early 1900s.

Now, leading Rhode Island archaeologists say the bones came from a onetime three-quarter-acre state cemetery for the indigent that now lies squarely under state Route 37. Michael Hebert, archaeologist for the state Department of Transportation, said records show that the graveyard is not far from one on state land close to the highway.

Hebert said he is scouring through old records trying to determine what happened. Thus far, he said, all documents indicate that the state did not identify the graveyard when Route 37 was built in the mid-1960s and that no bodies were removed.

Given the sad lives of the people who lived at the State Farm, Hebert said it is ironic that the portion of the highway that passes over the cemetery was built just before regulations were put in place that require an archaeological survey before land is disturbed for a major state project.

If such research had been done, “they would have found this,” he said yesterday, gesturing to old maps and state death records spread out in his office, across from the State House in Providence.

It appears that the cemetery was used by the State Farm from 1875 until 1916, he said. It is impossible to know exactly how many people were buried there, he said, because some people who inhabited the farm’s work house, almshouse, prison and insane asylum were claimed by family members upon their death.

Using estimates from the State Farm’s handwritten ledgers, Hebert said nearly 500 people died there every year at the turn of the century, falling victim to diseases such as pneumonia, tuberculosis or “senile dementia arteriosclerosis.” A quarter or more of those were left to be buried by the state, he said, so there could be anywhere from several hundred to 1,000 graves under the highway.

“At the time of construction they probably didn’t even know the cemetery was there, otherwise they would have relocated it,” Hebert said. It is likely that there was nothing to distinguish the property as a cemetery, he said, and that the graves were either unmarked or designated with wooden markers that rotted away.

At this point, he said, all the state can do is recover any remains that are in danger of being dislodged by further erosion and quickly address the drainage problems that sent the bones tumbling down the highway embankment.

Hebert and Paul Robinson, principal archaeologist for the state, have spent this week working with Public Archaeology Laboratory, of Pawtucket, as they carefully dig with small shovels to find the grave sites.

As of yesterday, eight complete or partial skeletons had been unearthed, Hebert said, and the archeologists can clearly see the outlines of the rectangular, closely spaced graves. The wood from the coffins now resembles shredded bark, and the bones are the color of the surrounding soil.

Three nameplates made of lead, one of them still affixed to a coffin, have also been found. They are all dated 1916, the last year the cemetery was in use. Hebert said the date leads him to believe that the remains being found are from the graves of people who were interred in the outermost row of the cemetery and that the rest remain under the highway.

Once the recovery work is finished, the state will have to decide where to give the remains a proper burial, Hebert said. His office is hopeful that relatives of the three people whose nameplates were found will come forward to share information.

The names are Elizabeth Anderton, from England; Dominico DePetrilio, from Italy, and Minnie Frawley, from Warren, R.I. All lived in the Almshouse.

Because Hebert’s own great-grandfather was sent to the State Farm workhouse — for failure to make child-support payments — the archaeologist said he has empathy for those in the cemetery and he searched City of Cranston death records to learn more about them.

The records show, he said, that Frawley was 53 when she died of tuberculosis, DePetrilio was 47 when he died of “dementia paralytica” and Anderton died at age 76 from senility and stomach problems.

The death register for the State Farm reads in part like a ledger from Ellis Island, listing places of birth including Canada, Ireland, Sweden, England, Italy, Russia and Turkey. The few other details logged in rounded penmanship are Dickensian, showing that many of the people at the Almshouse were working people such as mill workers, servants, stone cutters and housewives.

Sometimes whole families were sent to the poor house and sometimes children were born there. Hebert pointed to some entries that chronicled babies of unwed mothers dying shortly after birth of “premature exhaustion.”

“There were lot of poorhouses in cities and towns throughout the state so there were a lot of cemeteries like these,” said Robinson. “What’s unusual is that is not often that we find a line of grave sites like this. …

“… It is compelling. It makes you wonder, who were these people? And as one of Cranston’s [police] detectives put it so well, if we don’t protect them now, who will?”

Hebert said that perhaps the most telling detail of these people’s lives is what was not found in the graves.

There were no wedding rings, no jewelry, no hair ornaments, no rosary beads.

There only glass buttons and brass safety pins.