"Aut viam inveniam aut faciam" - I will find a way or I will make one.

Saturday, November 14, 2009

Garmin Nuvi 205 GPS install

Well I needed/wanted to get a GPS going on the new Uly so I pulled the Ram mount I had for a handheld style one off my dual sport and ordered up the RAM baseplate for my car's GPS a Garmin Nuvi 205. Once installed, I realized that a) it needed vibration dampening and b) it needed something to waterproof it.

So I found a Pelican box that fit the mount almost exactly and used some old bicycle inner tube to make a rubber gasket/cushion. I used a dremel to take down the ridges on the back of the box, and drilled holes to mount the cradle inside it with the RAM mount on the outside. The rubber on either side of the mount, combined with the RAM arm itself seems to mitigate the vibration quite well and of course, it is totally waterproof.

I haven't drilled the hole for the power yet, I'll wrap that up soon here.

RAM mount and Nuvi plate


Pelican box




Ball attached






Mounted up case open, I was thinking about how I could make something to prop the case partially open with a dark insert to act as a sunshade.


You can see through the clear case easily


RAM stuff is awesome, strong, easy to adjust and best of all cheap. The universal mount was ~$25 and the GPS base was $8, I got the Pelican at the local REI for $20.

Anyway, all in all cheap easy to do, I'm very happy with how it turned out.

Labels: , , ,

PermaLink / Posted by: Tony


Horn upgrade

I decided to install a Stebel Nautilus air horn on my bike as a replacement for the factory horn that sounds like someone accidentally stepped on a dog toy. The new Stebel at 139db (the loudness of a gunshot), literally demands respect. When on the bike it is nice to be seen, AND heard. :) I love it.

Power wire routing


Behind the screen


Buttoned up you wouldn't know it was there till I honked at you :)


Labels: ,

PermaLink / Posted by: Tony


Tuesday, November 03, 2009

Brake light upgrade

Car is 25-30ft away.

Stock brake lights


Upgraded lights


Video:


It is so bright I was laughing out loud when I hit the brakes, neither the video nor the photos do it justice. Looking directly at the light for too long is blinding...

Labels: , ,

PermaLink / Posted by: Tony


Monday, February 16, 2009

A couple new hats

I decided to try a few different color schemes and yarns so I knocked out a couple more beanies this weekend. Since they're so cheap to make and the only real effort is time, there really isn't any reason not to experiment. Anyway, over the last few beanies I've made I've refined the process and my pattern to the point where I think I've got the perfect tight fit beanie down. I could make another pattern up pretty easy for a folded up base, or a bit looser hat which I might try next. I'm also using a fairly tight stitch on purpose, as I'm aiming for maximum warmth with these hats over style. I think an olive drab might work well for a solid color next, maybe put some sort of small decorative patch on the front.








Labels: , , ,

PermaLink / Posted by: Tony


Sunday, February 08, 2009

New beanie

I decided to go backpacking next weekend and it has been pretty cold at night, so while setting up my gear I decided I wanted to bring a beanie. I unfortunately lost the last beanie I had knit a while back, which is too bad because I really liked it so I was stuck choosing from a commercial beanie. I've got a few I've purchased, but like anything that's made en masse, they all just fit o.k. and going through them I decided I didn't want to bring any of them on the trip.

So I decided to crochet one and since I didn't use a pattern I was able to make it a custom fit for my fat head (24") Since it was crochet in the round there are no seams to contend with and since I made it, no stupid and itchy mfg tags either. Made with probably 50 cents worth of yarn and some free time on my Sunday while appropriately watching Man vs. Wild, I knocked out my earthy toned head-warmer. :)

The completed hat



And on my head

Labels: , , , ,

PermaLink / Posted by: Tony


Monday, December 08, 2008

Engine squealing

So I was getting a loud squealing sound from the Wrangler, classic belt squeal to me, but I looked it over and it seemed fine and had already tightened the hell out of it to no avail. Tried swapping the idler pulley and even the fan clutch, which turned out to not be bad after all (impressive for 160k on the factory one) but was time to replace anyways. Problem went away but came back.

Discovered this awesome trick, to pin it to your belt or not, get a spray bottle and squirt water on the belt while it the engine is on, if she squeal stops, it's the belt, if not, it's obviously something not affected by water on the belt, i.e. bearings or whatever. Lucky for me it was just the belt.

Labels: ,

PermaLink / Posted by: Tony


Thursday, July 10, 2008

Enhancing Visual Basic scripts with Microsoft Excel - Part 1

“Things alter for the worse spontaneously, if they be not altered for the better designedly.” -Francis Bacon

Effectively working with and administering a Microsoft Windows based enterprise environment, let alone any other, requires making full use of all the tools that are made available to you and more often than not, making do with whatever is freely available. In the open source world of Linux this is generally not a problem as just about anything you could come up with a need for has not only already been created but is freely available and the things that aren’t, you can create yourself using any of the many free tools for scripting and programming that are available to fill those voids.

When it comes to system automation in a closed source environment such as Microsoft’s, the Visual Basic Scripting host is an invaluable tool that will let you handle just about every administrative task possible from mass updates to Active Directory to extensive data gathering and reporting; best of all, it is not only free, but it is already integrated into every Windows desktop. Of course, when it comes to automation you’re generally dealing with decently large amounts of data, either coming in, going out, or both; and while you can use simple text files for many things, it often makes more sense to leverage the power of a spreadsheet for both input and reported data.

I’m not looking to write the definitive article on how you can best use Excel with VBS, but my goal is to provide a good starting point, with a decent selection of sample source code to get the beginner or intermediate VBscripter up to speed and hopefully, leveraging Excel spreadsheets in no time, so let’s get started.

Lesson 1: Getting started
Let’s create a real simple script that simply shows us Excel.

DIM objExcel
DIM objTestSheet

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.WorkBooks.Add
objExcel.ActiveWorkbook.Worksheets.Add

Set objTestSheet = objExcel.ActiveWorkbook.Worksheets(1)
objTestSheet.Name = “Test Sheet”

Well that was easy, not much to it is there? Well go ahead and save the script and run it and you should see results like those below.


Ok let’s now take a look at the script and see what is going on.


After 1) declaring variables we 4) create the Excel object and bind it to objExcel, calling the application forward. We then 5) set Excel to be visible and 6-7) add a workbook and a worksheet inside of that. Once we’ve got the basic spreadsheet created, we then 9) bind an object to the first worksheet and we 10) give it a name. Pretty simple, but that doesn’t really do much for us does it? So let’s see what we need to do to actually put data inside that spreadsheet.

To “setup” the sheet to the spec we want, we’d like to do things like define column width, setup some header rows and maybe even freeze panes and add an autofilter, let’s see what we can do.

DIM objExcel
DIM objTestSheet

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.WorkBooks.Add
objExcel.ActiveWorkbook.Worksheets.Add

Set objTestSheet = objExcel.ActiveWorkbook.Worksheets(1)
objTestSheet.Name = “Test Sheet”

For i = 1 to 6
objTestSheet.Cells(1, i).Font.Bold = TRUE
Next

objTestSheet.columns(1).columnWidth = 10
objTestSheet.columns(2).columnWidth = 20
objTestSheet.columns(3).columnWidth = 20
objTestSheet.columns(4).columnWidth = 6
objTestSheet.columns(5).columnWidth = 30
objTestSheet.columns(6).columnWidth = 15

objTestSheet.Cells(1, 1).Value = "Status"
objTestSheet.Cells(1, 2).Value = "Test"
objTestSheet.Cells(1, 3).Value = "Department"
objTestSheet.Cells(1, 4).Value = "Floor"
objTestSheet.Cells(1, 5).Value = "Room/Area"
objTestSheet.Cells(1, 6).Value = "Room #"

objTestSheet.activate
objTestSheet.Rows.item(2).select

objExcel.ActiveWindow.FreezePanes = True


And here’s the results we’ll see if we run that script.

Pretty cool, we can see that we’ve got the row headers in place and bolded, the sheet is labeled and we’ve even applied a freeze pane affecting the 2nd row and down. Let’s take a look at the new piece of code we’ve added and see how it works.


Though you don’t have to, I used a short little for loop to 12-14) set the first 6 columns to be font.bold. In 16-21) we’re setting the columnwidth to varying sizes based on the type of information we will hold and in 23-28) we are setting the value of the cells to be equal to what we want as column headings. As you can see, assigning data to a cell is pretty easy, you simply specify the object variable you used to bind to the spreadsheet in this case objTestSheet, with .cells(x,y) at the end where x and y are the row and column followed by .value = “xxx” to set that data. In this case we’re obviously setting it manually, but from a scripting point of view, the resultant data from your scriptwork will simply be put into these areas. On 30) we are activating the sheet we were writing data to and then 31) we are selecting row two so that we can 33) FreezePanes on everything below that.

Two other neat little commands I didn’t use yet but that I’ll throw in for you to tinker with until the next lesson are:

a) objTestSheet.Cells(1, 1).Font.ColorIndex = 3
b) objTestSheet.Cells.autofilter 1, "DOWN"


Where a) sets the color of the text in the cell(1,1) which is equal to A:1 to red and b) creates an autofilter, specifically setting it to row 1 and filtering for “DOWN”. You won’t be able to use b) if you don’t have any data to filter, so keep that in mind while you’re playing with it. If that’s not entirely clear don’t worry, as I will cover it in detail next time.

Anyway this gives us a good starting point to begin working with Excel output from VBS direct to the screen. Is this the best way to have your script output data to Excel? Well, not really, but I guess that depends on whether or not you want to watch the results as they happen. There are many ways to use Excel with VBS as we’ll see in the next couple of lessons, but this should get you headed in the right direction. In later tutorials I will cover Excel spreadsheets as input, writing data to spreadsheets entirely in the background and more. For now, play around with Excel as an output medium, writing your results to cells in your loops instead of writing to text files. What’s cool about vbscript’s manipulation of Excel is that not only can you output direct to a spreadsheet, visibly on the screen or entirely silently in the background, but that you can also format that data so completely that there is nothing left to do other than to interpret the results. (Though I’m working on a script for that too btw, lol)

Incidentally for your automated scripts that you’d like to have write to excel spreadsheets in the background, don’t forget you can have vbs send you an email with the results, attaching the spreadsheet to the message, of course, you could also write it to only email you if there is a problem, etc. but that’s a topic for a separate tutorial altogether.

Labels: ,

PermaLink / Posted by: Tony


Saturday, June 07, 2008

Extending my dual sporting range

So while I'd like a little more umph, I do find my little XT225 to be a veritable mountain goat of a bike that really seems to be screaming "throw everything you've got at me." And though I've only had her off road twice, any shortcomings I ran into were mostly my own. So with a Rubicon trip coming up next weekend, I knew I'd need to do something about the puny 2.3 gallon factory tank. Unfortunately Clarke does not make a larger XT tank, so most XT owners end up with some mickey mouse version of a strapped down milk jug, or one of the Kolpin jugs (which can no longer be shipped to CA, which is ironic as with the emission friendly style ones we are sold locally I typically end up spilling gas all over the place lol)

I had spied some spiffy little NATO 5L gas tanks some time ago that I've been meaning to mount up in some way or another and when I recently saw some mounted on a TW200 I was inspired to get off my ass and fab something up for myself. Not perfect by any means and I'm surely more critical of my own work than someone else might be, but with some basic hand tools (and no vice, long story) I bent up and welded these together with about $12 of u-bolts and $19 worth of metal from Home Depot.

I do need to add some sort of rubber on the inside edges to prevent rattling, but otherwise they are quite stout. I can grab hold of one side and lift the bike off the ground with almost no flex, so I think they'll be safe when I lay it over. :) If you're wondering, 10 liters = 2.64 gallons so I've got more than a full fill-up. If I was only getting 75mpg, my range just shot up to roughly 370 miles before I need a fuel station.

It will really make me feel more comfortable going on longer trips and on far backwoods trips without the fear that I might run out of fuel and I've got to admit, I'm really happy with how well it came out.











Labels: , , , , ,

PermaLink / Posted by: Tony


Thursday, October 25, 2007

Sweet Pilot G2 pen upgrade

I got the idea from an instructable I spotted a while ago, forget the url but you could google it.

A Mont Blanc rollerball is a very nice pen, it writes smoothly and the body is nice and solid and has a good heft to it, the downside is that they go for about $200 give or take. If you're like me, pens come and go for some strange unknown reason. Whether it is lost or "borrowed" from my desk, they just don't seem to last. I think the most I've spent on a pen for myself was about $80, I have no idea how long that one lasted but it wasn't worth the $80 for the amount of time I had it in my possession.

Anyway, this rocket scientist figured out that a Mont Blanc rollerball refill (about $12 for 2 of them) is almost exactly the same as the G2 refill and in fact, that the only significant difference was the length. He also discovered that if you hack off a few millimeters off the end of a Mont Blanc refill, it fits perfectly in a G2 giving you the writing smoothness of a $200 Mont Blanc in a $5 pen. Now the G2 is no Mont Blanc, but it's a pretty decent pen ergo-wise.

So I tried it and it works, here you go.


G2 cart on top, Mont Blanc below, notice the blue end is a little longer




Loaded up and it writes so nice


The Mont Blanc refills are $12 for 2

Labels:

PermaLink / Posted by: Tony


Tuesday, October 23, 2007

Coke can stove test

I decided to do the classic 2 cup of water boil time test with that backpacking stove I made out of two coke cans. Using my swiss tool I bent a coat hanger into a little ultralight stand. Of course, if you really wanted to save weight you could just dig a small hole or use sticks or rocks to hold your pot over the stove. I'm pretty happy with the stove as it performed coming to a boil in rougly 4 minutes. :) The can of fuel was about $5 at the local Home Depot, it burns clean and fairly hot. I recorded a small 1 minute video as well after the stove had been on for about 3 minutes. The coat hanger worked fairly well, if I was going to keep it for actual use I'd sand off the paint on it, but I suspect I'll just use rocks or sticks in the field.




This particular design has paper towel folded over inside the walls acting as a wick. I also use larger weep holes in the base and it seems to do well. The amount of fuel required to boil 2 cups of water is exactly 2 tablespoons, not bad. To carry the fuel you can just get one of those little containers from the travel isle at the local drug store.



Part way into the video you'll see me stick my hand in there, showing the time at about 3min after starting the fire. All in all it averaged to almost exactly 4 minutes. I should also note that I'm probably only about 100ft above sea level.

Labels: , , ,

PermaLink / Posted by: Tony


Monday, October 08, 2007

Ultralight backpacking stove

So I'd seen plans for years about little backpacking stoves you can make requiring merely a couple of coke cans a swiss army knife and a few minutes of time, but I'd never really gotten around to making one. I had been using nesbit tablets, which function, but I'm really not a big fan of them. Anyway, someone had posted a video on metacafe showing his own modified and simplified design and I figured I might as well give making one of these a shot.

Now, he simply states that you need to prime it first, then he is shown holding a lighter under it for a few seconds before lighting the jets. Of course, anyone that knows how primed stoves work realize that is total BS because you really need a priming pan, which defeated the whole point of his "modified" stove as it was supposed to be a completely simplified version of the different styles out there.

Anyway, I don't like the priming pan idea, it's just one more thing to carry around and lose. I'd prefer for the entire unit to be self contained. A great website, zenstoves.net goes into detail on the design and theory behind many different styles of these little stoves. Personally, I prefer the open top style, though slightly less efficient it lights instantly and the jets come on when ready.

I am somewhat happy with the performance I'm getting, though I do want to change the design a little and make the top hole smaller, I don't think it needs to be quite so large. Anyway, here's a shot of the flame you get for 5 minutes from a couple tablespoons worth of denatured alcohol.

Labels: , , ,

PermaLink / Posted by: Tony