Yamaha XJ750 Seca Airbox

In frustration I made a decision to take out the airbox with the sawzall and replace it with those cool looking airpods. It is a real PITA to pull the carbs in and out with the airbox in there. The airpods would make is so much easier to pull the carbs for adjustments to the floats and cleaning.

Trouble is I don’t know how exactly to jet the carbs for the new airpods. The carbs were not working with the shared atmosphere airbox. I think I should first get the bike running good with the airbox.

I bought a used airbox from ebay. Now to put it back in. Well you can’t do that without pulling the engine out. I don’t have time for that.

Here how I modified the airbox to get it back in the bike.

carbs

There isn’t much room

 

too big to fit

It is NOT going to fit

 

airbox

The airbox uncut

 

Sliced .

I cut the air-cleaner box off of the carb-boot part. I then added the aluminum flange and weather stripping to the carb-boot part.

test fitting after slice

Sliced and Test fitting. Test both the carb-boot part and the aircleaner part. You will need to know how to get these back into the bike.

100_8581

I then drilled and tapped the aluminum flange so the two parts could be screwed together after they are in the bike.

side view

Side view of finished slice

 

100_8587

Back in the bike.

 

100_8590

Now we can put the rubber boots and carbs back in.

 

BMW F650 Transmission

BMW F650 with engine out

With the engine removed

It is a 1999 BMW F650. The transmission was slipping out of 2nd gear. This is the process of replacing the gears.

Step 1. Remove the engine. Use the instructions from http://faq.f650.com/main.html

This is the document I wrote about Splitting the engine case_(pdf) Download this document for detailed descriptions of my process for splitting the cases

BMW F650 with engine out

Removing the exhaust and the airbox seemed to be the easiest way to get the carbs out.

BMW F650 with engine out

There isn’t much left after the engine is out.

 

 

 

 

 

 

 

 

 

Engine on the table

Here is the engine out and on the helpful wooden jig described on the F650.com website.

Engine on table. Right side view

I think it would be a real PITA without the jig.

 

 

 

 

 

 

 

 

 

 

 

The valve cover off

The valve cover off

 

 

 

 

 

Cam Shaft view

Top view of those cam shafts.

 

 

 

 

 

Remember to mark those valves

Remember to mark those valves

 

 

 

 

 

cam chain

Remember to keep the cam chain facing the same way. Use some twist ties to keep in together with the sprockets.

 

 

 

 

Ouch! That can be welded. It broke off when the bolt was loosened. It welded up fine in the end.

Ouch! It broke off when the bolt was loosened. That can be welded.

 

 

 

 

 

 

 

welded jug

The bolt hole welded up fine. A little time with a file and a counter bore, it is good as new.

 

 

 

 

 

 

Top of piston

The top of the Piston and Jug

 

Buy a new head gasket.

 

 

Case is split

Read my document before you do this.

 

Spend some good time learning how it works before tearing it all apart. It will help when it comes time to put it all back together.

Case split

My opinion is this is the wrong side to open up. You want to keep all that shifter stuff in place in the right side of the case.

snap rings

removing the snap rings

gears

This is both new and old gears. Can you tell the difference? Very little to make me think this is the cause of the slipping but the new gears fit much more sound. It might just work.

Tools for Transmission.

The type of tools you need to take off those gears.

GE DIGITAL CAMERA

Snap rings are not easy

without the shifter

The gears without the shifter in place

IMG_4396

A work of art

IMG_4393

The case won’t go back together without the counter balancer being in alignment.

IMG_4398

All together and ready for the other half.

[Macromedia][SQLServer JDBC Driver][SQLServer]Could not find prepared statement with handle 1

A query issue with SET QUOTED_IDENTIFIER OFF  and a constructed WHERE

For a dealer locator. The idea was to randomize the results of the query. Users tend to pick the link at or near the top of the list returned. We want an easy to give everyone some chance at the top of the list. Looking up some code on the Internet gave me the solution of using “SET QUOTED_IDENTIFIER OFF” at the top of the query, and Order BY newid() at the end. We wanted users that may live on the border of say North and South Dakota to be able to choose both states from a list to search. This query worked great until we attempted to upgrade to ColdFusion 10. Then it brings the entire server down. Any page that runs a query will return an error similar to this:

ErrorCode 8179
Message [Macromedia][SQLServer JDBC Driver][SQLServer]Could not find prepared statement with handle 1.

Here is what I know.

This is the setup of the wherestring. I see how it could be more efficient, but it isn’t what is killing the server so let stay for now.

<cfif listLen(arguments.statelist,",") GT 1>
    <cfloop list="#arguments.statelist#" delimiters="," index="i">
      <cfset statevar = listgetat(arguments.statelist,i,",")>
      <cfif len(trim(i)) EQ 2>
      <cfif whereString NEQ "">
        <cfset whereString = whereString & " OR ibos.billSTATE = " & " '" & statevar & "'">
        <cfelse>
        <cfset whereString = " ibos.billSTATE = " & " '" &  statevar & "' ">
      </cfif>
      <cfelse>
          <cflocation url="/index.cfm"><!--- don't try and hack me bro, states should only be 2 characters. --->
      </cfif>
    </cfloop>
    <cfelse>
    <cfset statevar = left(trim(arguments.statelist),2)>
    <cfset whereString = " ibos.billSTATE = " & " '" &  statevar & "' ">
  </cfif>

This query used to work:

<cftry>    
<cfquery name="qGetIbosByStates" datasource="#request.dsn#">      
SET QUOTED_IDENTIFIER OFF
            SELECT
               ibos.agreeToTerms 
               ,ibos.billAddress1
               ,ibos.billAddress2
               ,ibos.billCity  
               ,ibos.billCompany 
               ,ibos.billEmail 
               ,ibos.billFName 
               ,ibos.billLName  
               ,ibos.billPhone  
               ,ibos.billState 
               ,ibos.billZip  
               ,ibos.cbwActive 
               ,ibos.email 
               ,ibos.homepage 
               ,ibos.homepageFolder 
               ,ibos.iboStatus 
               ,ibos.latitude  
               ,ibos.longitude  
               ,ibos.MemberID  
               ,ibos.Phone  
               ,ibos.startDate  
               ,ibos.tollfree 
               ,ibos.url  
               ,ibos.ContractType  
           FROM ibos  
           WHERE   #preservesinglequotes(whereString)#<!--- This does not play well with Quoted id and newID()'  --->
             AND (ibos.IBOstatus = 'a'  OR ibos.IBOstatus = 'i')
             AND ibos.ContractType != '30'
             AND ibos.ContractType != '32'
             AND ibos.ContractType != '18' 
             AND ibos.contractType != 'EM'
             AND ibos.contractType != '23'
            <cfif arguments.WebsiteOwners EQ "yes">AND ibos.cbwActive = '1'</cfif>
            <cfif arguments.WebsiteOwners EQ "no">AND ibos.cbwActive != '1'</cfif>
             Order BY newid()
        </cfquery>    
<cfcatch type="any">      
<cfdump var="#cfcatch#" label="Query error line516">      
<cfabort>    
</cfcatch>  
</cftry>

So to find out what the issue is I took out the multi-state option. You now can only choose one state at a time from a drop down menu.

This query does works and returns randomly ordered results.

 <cfquery name="qGetIbosByStates" datasource="#request.dsn#">
        SET QUOTED_IDENTIFIER OFF
            SELECT 
                ibos.agreeToTerms
                ,ibos.billAddress1
                ,ibos.billAddress2
                ,ibos.billCity
                ,ibos.billCompany
                ,ibos.billEmail
                ,ibos.billFName
                ,ibos.billLName
                ,ibos.billPhone
                ,ibos.billState
                ,ibos.billZip
                ,ibos.cbwActive
                ,ibos.email
                ,ibos.homepage
                ,ibos.homepageFolder
                ,ibos.iboStatus
                ,ibos.latitude
                ,ibos.longitude
                ,ibos.MemberID
                ,ibos.Phone
                ,ibos.startDate
                ,ibos.tollfree
                ,ibos.url
                ,ibos.ContractType            
            FROM ibos 
            WHERE  ibos.billSTATE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#statelist#"><!--- this works with Quoted ID off and newid() ---> 
            AND (ibos.IBOstatus = 'a'
            OR ibos.IBOstatus = 'i') 
            AND ibos.ContractType != '30' 
            AND ibos.ContractType != '32' 
            AND ibos.ContractType != '18'
            AND ibos.contractType != 'EM'
            AND ibos.contractType != '23'            
             <cfif arguments.WebsiteOwners EQ "yes">AND ibos.cbwActive = '1'</cfif>
             <cfif arguments.WebsiteOwners EQ "no">AND ibos.cbwActive != '1'</cfif> 
            Order BY newid()
        </cfquery>

So what is the issue? It seems to be with “SET QUOTED_IDENTIFIER OFF” because this query works and returns random results:

 <cfquery name="qGetIbosByStates" datasource="#request.dsn#">
        <!---  SET QUOTED_IDENTIFIER OFF---><!--- commented out --->
            SELECT 
                ibos.agreeToTerms
                ,ibos.billAddress1
                ,ibos.billAddress2
                ,ibos.billCity
                ,ibos.billCompany
                ,ibos.billEmail
                ,ibos.billFName
                ,ibos.billLName
                ,ibos.billPhone
                ,ibos.billState
                ,ibos.billZip
                ,ibos.cbwActive
                ,ibos.email
                ,ibos.homepage
                ,ibos.homepageFolder
                ,ibos.iboStatus
                ,ibos.latitude
                ,ibos.longitude
                ,ibos.MemberID
                ,ibos.Phone
                ,ibos.startDate
                ,ibos.tollfree
                ,ibos.url
                ,ibos.ContractType            
            FROM ibos 
            WHERE  
            #preservesinglequotes(whereString)#<!--- This does not play well with 'Quoted id --->
            AND (ibos.IBOstatus = 'a'
            OR ibos.IBOstatus = 'i') 
            AND ibos.ContractType != '30' 
            AND ibos.ContractType != '32' 
            AND ibos.ContractType != '18'
            AND ibos.contractType != 'EM'
            AND ibos.contractType != '23'            
             <cfif arguments.WebsiteOwners EQ "yes">AND ibos.cbwActive = '1'</cfif>
             <cfif arguments.WebsiteOwners EQ "no">AND ibos.cbwActive != '1'</cfif> 
            Order BY newid()
        </cfquery>

So what does SET QUOTED_IDENTIFIER OFF do anyhow? Doesn’t seem necessary. This is one of those things where someone copies and pastes off the Internet and doesn’t really understand what they are doing.

Ok so after reading this: http://ranjithk.com/2010/01/10/understanding-set-quoted_identifier-onoff/ I just don’t think I need that at all. Someone must have been trying to do something that was solved by the use of preservesinglequotes?

So why does it bring the ColdFusion service down for the entire website? This is the first time I have been able to something like that.

 

United States Zip codes and Latitude & Longitude

A list of United States capitals with zip codes and Lat and Long coordinates.

Alabama  Ala. AL Montgomery 36101 32.361538 -86.279118
Alaska  Alaska AK Juneau 99801 58.301935 -134.419740
Arizona  Ariz. AZ Phoenix 85001 33.448457 -112.073844
Arkansas  Ark. AR Little Rock 72201 34.736009 -92.331122
California  Calif. CA Sacramento 94203 38.555605 -121.468926
Colorado  Colo. CO Denver 80201 39.7391667 -104.984167
Connecticut  Conn. CT Hartford 6101 41.767 -72.677
Delaware  Del. DE Dover 19901 39.161921 -75.526755
Florida  Fla. FL Tallahassee 32301 30.4518 -84.27277
Georgia  Ga. GA Atlanta 30301 33.76 -84.39
Hawaii  Hawaii HI Honolulu 96801 21.30895 -157.826182
Idaho  Idaho ID Boise 83701 43.613739 -116.237651
Illinois  Ill. IL Springfield 62701 39.783250 -89.650373
Indiana  Ind. IN Indianapolis 46201 39.790942 -86.147685
Iowa  Iowa IA Des Moines 50301 41.590939 -93.620866
Kansas  Kans. KS Topeka 66601 39.04 -95.69
Kentucky  Ky. KY Frankfort 40601 38.197274 -84.86311
Louisiana  La. LA Baton Rouge 70801 30.45809 -91.140229
Maine  Maine ME Augusta 4330 44.323535 -69.765261
Maryland  Md. MD Annapolis 21401 38.972945 -76.501157
Massachusetts  Mass. MA Boston 2108 42.2352 -71.0275
Michigan  Mich. MI Lansing 48901 42.7335 -84.5467
Minnesota  Minn. MN St. Paul 55101 44.95 -93.094
Mississippi  Miss. MS Jackson 39201 32.320 -90.207
Missouri  Mo. MO Jefferson City 65101 38.572954 -92.189283
Montana  Mont. MT Helena 59601 46.595805 -112.027031
Nebraska  Nebr. NE Lincoln 68501 40.809868 -96.675345
Nevada  Nev. NV Carson City 89701 39.160949 -119.753877
New Hampshire  N.H. NH Concord 3301 43.220093 -71.549127
New Jersey  N.J. NJ Trenton 8601 40.221741 -74.756138
New Mexico  N.M. NM Santa Fe 87501 35.667231 -105.964575
New York  N.Y. NY Albany 12201 42.659829 -73.781339
North Carolina N.C. NC Raleigh 27601 35.771 -78.638
North Dakota  N.D. ND Bismarck 58501 48.813343 -100.779004
Ohio  Ohio OH Columbus 43201 39.962245 -83.000647
Oklahoma  Okla. OK Oklahoma City 73101 35.482309 -97.534994
Oregon  Ore. OR Salem 97301 44.931109 -123.029159
Pennsylvania  Pa. PA Harrisburg 17101 40.269789 -76.875613
Rhode Island  R.I. RI Providence 2901 41.82355 -71.422132
South Carolina S.C. SC Columbia 29201 34.000 -81.035
South Dakota  S.D. SD Pierre 57501 44.367966 -100.336378
Tennessee  Tenn. TN Nashville 37201 36.165 -86.784
Texas  Tex. TX Austin 73301 30.266667 -97.75
Utah  Utah UT Salt Lake City 84101 40.7547 -111.892622
Vermont  Vt. VT Montpelier 5601 44.26639 -72.57194
Virginia  Va. VA Richmond 23218 37.54 -77.46
Washington  Wash. WA Olympia 98501 47.042418 -122.893077
West Virginia  W.Va. WV Charleston 25301 38.349497 -81.633294
Wisconsin  Wis. WI Madison 53701 43.074722 -89.384444
Wyoming  Wyo. WY Cheyenne 82001 41.145548 -104.802042

Cedar strip canoe project

Canoe project (This is an old story that I forgot to post)

This is the canoe I pulled out of the dumpster at City cleanup. I wish I had taken a picture prior to this. It must have been used as a duck boat as it was an awful camo brown. It was almost broken in half and had many holes that needed patching.

I spent some time fiber glassing the holes and painted it up. It has been our favorite canoe ever since. It tracks very straight and is very stable. I went up to the BWCA with us this summer of 2009. It may never see those lakes again as it is way too heavy at probably 90lbs. It also doesn’t travel well as it is very wide making it hard to position on most car tops. This last ride it took we noticed that it would flex in the middle making it a challenge to strap down tight enough without feeling like it may crack in half or crush.

Takes two guys to carry it.

This summer I also started building my own Cedar strip canoe. Originally I had hopes of getting it done in time for our BWCA trip however it quickly became apparent that wasn’t going to happen. I purchased these plans and got started in May.

The plans

This is the complex and important part of the plans: Make sure you do a good job laying out and cutting your forms. I missed the line a few times and it made it harder as my cedar strips didn’t quite follow the form. I would actually take the page into photo shop and enlarge them and find some way to slicing them up and printing them actual size and taping the sheets together. The way explained in the plans didn’t work for this guy so well, mostly because I didn’t take enough time getting the lines right.

the framework

This is the forms bolted to the strongback. None of this stuff becomes any part of the canoe when it is finished. These are the guides that will help form the canoe shape, and are removed after it is all glued in place.

Cedar striping starts

After you have ripped a bunch of cedar strips on a table saw you can start attaching them to the form and each other. I used staples to hold the first ones to the form. In the future I would attempt to use as few staples as possible as they leave holes in the cedar that hopefully will swell shut and hide themselves. I found that I could skip the staples quite a bit and use a combination of tape and clamps.

September now and I better get this finished before it starts getting dark and cold.

getting closer, sanding.

sanding

There is much sanding to do. The belt sander saved me some serious time. Consistent thickness on your cedar strips will also save some sanding. My little table saw isn’t exactly the professional model and our strips would get thick and thin until we figured out how to get a consistent cut. My boat has cedar with knots in it. I hope this looks ok when it is finished I notice that all the pictures in the book do not have any knots. Well I wasn’t going to toss that much wood out to accomplish that feat with the cedar from the local Menards. I would have been nice to find cedar board with less knots in them.

sanding more

 

sanding

At this point I have a bunch of work in front of me.

I need to finish sanding the outside and then stain/varnish it before applying a layer of fiberglass, sanding and varnishing again.

Then the forms can be removed so the inside can be sanded, varnished and fiber glassed. After the inside is finished the gun wales, deck and seats. I really hope that I can use it next summer.

You will want one of these

Things I think you will want will include a belt sander like this one, and lots of those spring clamps like those holding the dust bag shut. Hopefully you won’t loose your dust bag clip, but you will like the clamps for holding the cedar strips in place.

saw and glue

A band saw helps with the last little pieces that have long angles or curves.

The glue however, check out that stuff. I used several types and brand, this is the stuff. It is exterior gel. Dripping glue is an issue here and the gel sticks to the wood even upside down, and that is very helpful.

 

When it is done it should look something like this:

 

 

 

More of the building process:

Fiberglass cloth on outside

Draping the fiberglass cloth over the outside.

The fiberglass is an epoxy resin and hardener. When you mix them you have a limited time to get it on before it starts to gel up and get hard. It creates noticeable bit of heat as it cures.

 

 

 

 

 

 

 

 

 

 

Application of the resin

Wetting the fiberglass with the resin

 

 

 

 

 

 

 

Cleaning and sanding the inside

Remove from form and clean and sand the inside.

 

 

 

 

 

 

 

 

Fiberglass application to the inside of the canoe

Apply fiber glass to the inside.

 

 

 

 

 

 

 

 

Completed fiberglass on the inside

Getting fiberglass in the tips of the canoe is a challenge.

 

 

 

 

 

 

 

 

Complete the gunwales, then you can do the seat and thwarts.

 

 

 

 

 

 

 

Completed

Complete and ready for the maiden voyage.

Garden 2012

The garden for 2012 has grown again.

We have had great asparagus

I had to put up a fence to keep the bunnies out this year. We had very nice looking Swiss Chard one day and the next it looked like it was all chewed down to the stems. I am sure it will come back if I can keep that rabbit out.

The garden as of June 4th 2012

This year we have:
Tomatos
Egg plant
Green and hot peppers
Peas
Carrots
3 different beans
Broccoli
Rootabegi (sp?)
Two different lettuces
Two different Spinach
Radishes
Corn
Celery
Strawberries
Blue berries
Rhubarb
Chives
Garlic (multiple kinds)
Squash (multiple kinds)
Cantaloupe
Musk melon
Onions
Turnips
Sunflowers

Starcraft & 80hp Merc

This is a boat we are in the process of cleaning up. It needs a new floor and some seats and we are good to go. The motor runs but hasn’t run much in the last 10 years.

Sailboat Project

This is a sailboat that we got in pieces. It is a Chrysler Man of War. We are attempting to rebuild it and make it float.

The sail and mast are in great shape. The guy we got it from had it in the back of this truck with the mast in place. As he back towards the dock he forgot about the tree branches overhead. This broke the two fiberglass halves apart. It was originally stapled together. We ground out all the old staples and have glue it together with fiberglass epoxy.

We are now looking for a few free days with nice weather to bondo, sand and paint it up. However it does sail as is. We took it out on the lake and got some looks from people appearing to say “you sure that is going to float?”.

 

 

XML elements with “-” trouble

A person should avoid using the subtraction symbol in an XML element name. http://www.w3schools.com/xml/xml_elements.asp says: Avoid “-” characters. If you name something “first-name,” some software may think you want to subtract name from first. 

We have a vendor that is on using them anyhow. Maybe I don’t know what I am talking about but couldn’t they just use an underscore or camelCase? So far they have ignored my request. The show must go on.

The XML we get from the soap request:

<?xml version=”1.0″ encoding=”UTF_8″?><PurchaseTokensResponse xmlns=”https://www.vendornamehidden.com/MsServices”><s-gensym3 xmlns:xsi=”http://www.w3.org/2001/XMLSchema_instance” xsi:type=”xsd:string”>SUCCESS</s-gensym3></PurchaseTokensResponse>

My work around in ColdFusion:

<cfif find( “200″, httpResponse.statusCode )>

<!— Parse the XML SOAP response. —>
<cfset soapResponse = xmlParse( httpResponse.fileContent ) />
<cfset msResponseNodes = xmlSearch(
soapResponse,
“//*[ local-name() = 'PurchaseTokensResponse' ]”
) />
<cfset respon = msResponseNodes[1]>

<!— Convert the XML to a string so we can do a replace —>
<cfset xmlString = toString(respon)>
<cfset replaceddashXML = replace(xmlString,”-”,”_”,”ALL”)>
<!— Convert the string back  to XML  —>
<cfxml variable=”backToXML”>
<cfoutput>#replaceddashXML#</cfoutput>
</cfxml>
<!—Now we can carry on as if nothing happened —>
<cfset msResponse = backToXML[1].PurchaseTokensResponse.s_gensym3.xmlText>
Purchase token response:<cfoutput>#msResponse#</cfoutput>
<cfelse>
<cfset msResponse = “fail”>
</cfif>

There is probably an easier way.