Slang's Anti-Singularity
  • Slanghome
  • Slangblog
  • Slangpuzzles
    • CurrentPuzzles
    • ScholarPuzzle
    • PastPuzzles

Reality distortion field

5/31/2012

0 Comments

 
I use Google Earth a lot to view places, plan runs and create elevation profiles for the entries in this blog. While I was putting together the latest run entry, I noticed something odd about the elevation profile information. It changed. The same kmz file provided different elevation profiles -CONSTANTLY. I looked at the run on a Mac, and then on a PC. Different. I looked at the run on the PC at different window sizes. Different again for each window width, for both distance, and elevation gain/loss.

I don't get it. The data are a series of XML latitude and longitude points. The earth itself doesn't change based on the viewer used to see it (boy, that would be weird), so why would the elevation profile change between what is used to look at it? I guess there is no way to truly extract the accurate elevation profile information from any of the tools I have access to, considering there is a difference in Garmin's interpretation of their own data when the information is presented on their website as either a route or a course.

Google Earth: a reality distortion field. In this case, if I wanted my elevation profile to appear to be more of a challenge, I simply stretch the X-axis of the graph by increasing the width of the window and it happily accommodates me, making both the distance and the elevation changes appear greater on the screen. Selecting "Get Info"/"Properties" on the file in the places list and then selecting the Measurements tab shows the same for the length, so at least that seems to be static. 

The data from the run is shown in the following images, with the screen grabs from the same kmz file. I wonder if it is simply a factor of revealing more information, thus making the wider view the more accurate view? I don't know, but I would be interested to find out. 
Picture
Compressed PC view
Picture
Stretched PC view
Picture
Macintosh view
0 Comments

57 Hard Left Turns

5/30/2012

0 Comments

 
Picture
Memorial Day weekend was one of exercise for me. Saturday I joined a few hardy souls for a run in Ash Canyon before the frigid rain returned, Sunday was a ride in Washoe Valley with Risa on her new bicycle, and Monday – with the weather finally glorious – a new route investigation!

I had originally thought to run a tenner from Spooner Summit to the Bench and back (actually about 11, but tenner sounds cooler), tagging along with the ccrunners and TMM group run, but still "doing my own thing" at my own pace. 

Then, I recalled the Sierra Canyon trail (part of the Genoa Trail system) was newly completed from Genoa to the Tahoe Rim Trail, and I had never been on it. Round trip on that would have been close to a double tenner — a bit far for me. I thought a bit more about it and contacted the ccrunners group and arranged for a ride back to Genoa, if I could make it to Spooner Summit and didn't mind waiting for a bit for them to arrive after their 25+ mile run. 

That sounded reasonable to me, so I put my end-of-run stuff in Abbey's car, and drove to Genoa to load up my pack and explore a new trail!

Picture
Picture
Pointing toward the goal.
Picture
I knew it was going to be an uphill climb. Which is good. I've discovered the fact that I am a SUDS runner. Not only do I run for the (beer) suds after the run, but I am a Same Uphill & Downhill Speed runner. It doesn't matter to me if it's uphill for a bit, I can deal. And so I started out, and it was uphill. And more uphill. When I thought it might be done, there was MORE uphill. All in all, it was a pretty steady climb for almost 12 miles. Yikes.
Picture
Though it was newly created, the trail was in good shape: pretty well tamped down and not yet rutted from bikes. I assume the bike traffic would be nominally down, and the grooving in the hairpins supported my assumption. Were there a few hairpin turns? Maybe not quite fifty-seven as the post title indicates, but damn, there were a LOT of them!  When I finally reached the TRT, the timing was nearly perfect, as the long-range group of runners was just approaching the intersection. A few minutes of chatting, a photo, and we went our separate ways. Them, to Kingsbury trailhead and back, and me to Spooner by way of The Bench.
Picture
The gang at the trail intersection
Picture
The Bench
I didn't dally at The Bench for more that the time it took to snap the photo and park the camera. It was a bit chilly with the wind blowing and the temps only in the low 50s at that point. The view was spectabulous, though!

At that point, the trail trended down, gradually dropping to the Spooner Summit south parking area. I was lucky enough to hitch a ride with no waiting around. I was glad for that, since I had a collapsed garage shelf at home to deal with, and I hadn't brought along reading materials to tide me over for an extended wait. 

All in all, a great Memorial Day weekend of being out and about.
0 Comments

Run data slicing and dicing

5/22/2012

0 Comments

 
When I run, I usually tote along my Garmin Forerunner 405CX in order to keep track of the miles trod, and to capture the information into courses and routes for others to (potentially) follow if it turns out to be a good one. Since not everyone uses Garmin products and may not want to use the Garmin website's courses feature, I also convert the GPS data to Google Earth and post all the information into a .kmz file (scroll to the download link) for viewing in Google Earth on a local pc.

The data is the same: XML data containing latitude and longitude and that's about it. When it gets to either the Garmin website and/or Google Earth, that data is interpreted over maps to give the user a visual look of the data rather than lat/long coordinates, and gives distance, and elevation profile. This is where it gets all divergent.

I did a run last Friday that I converted to a course. The base run data as uploaded is shown below (Sorry, you don't get to see my imminent heart attack displayed in the heart rate info, nor the "trudge factor" in the timing chart.):
Picture
When I elected to save the run as a course, the data changed! Instead of being over 7 miles, the course data was 6.95, though the elevation data remained the same with a gain of 1066 feet. However, I do like that the elevation profile no longer starts at sea level, making the 1000+ elevation gain almost look like it hurt as much as it did.
Picture
In addition to saving the run as a course, I used the Garmin function to export the data to a Google Earth file. This conversion results in yet another divergent data set. In this case, the run distance shows as 7.05 miles, which isn't too terribly off (only 1 %) from the base run data, but a big delta shows up in the elevation gain: 1458 feet. Wow. That's a 37% difference! I must admit I much prefer the look of a Google Earth elevation profile over either Garmin:
Picture
Just looking at the elevation profiles, I get the feeling that Garmin is smoothing the data that erases the small changes in elevation despite using Google as the mapping base. However, over the course of a longer run, the tiny smoothing changes the overall run a lot. Those three and five foot elevation changes on the trail add up. Tell me. Toward the end of a run, any little hill up -- only to go back down -- gets a sound round of cursing from me.
0 Comments

Eclipse - Carson Style

5/20/2012

0 Comments

 
Picture
It came, we saw, nobody conquered. But that's OK, we all had a good time at Western Nevada College's Jack C. Davis Observatory watching the annular solar eclipse.

We got there about an hour before the maximum, and there were a lot of other people already there, queueing up to peer through the at least six telescopes, and other assorted paraphenalia available to watch the sun and moon play PacMan with each other.

It turned out to be quite the social event with (by my estimation) a couple hundred people milling about and talking. I'm not sure how much the kids that were running around got out of it, but I certainly enjoyed it, as did Mikaela. I think Spencer was more concerned about chatting with his buds than the astronomical spectacle. But what do you truly expect from a soon to be teenager?

Picture
Picture
Picture
Picture
Picture
I'm planning to be back at the observatory in a couple of weeks for the Transit of Venus. For some reason, I am not expecting similar crowds for that event as appeared this evening, though the transit is something that won't happen again in our lifetimes. See ya there?
0 Comments

Pre-eclipsia Activities

5/20/2012

0 Comments

 
The weekend's activities pre-eclipse included running, soccer, home maintenance  and trail maintenance. 

I did a quick run Friday night to put down a route in Ash Canyon to post. It was surprisingly fast for me, and I was happy with it. I decided to expand that route into a different and slightly longer one for Saturday after the soccer match. That run also went well enough. Both routes are now locked in as downloadable Garmin routes and on the Google Earth kmz file on ccrunners. Check them out.

Soccer was once again a mixed bag. Mikaela's team was up 2-0 in the first half, only to watch the lead evaporate and eventually lose 3-2. I don't know what happens. On the bright side, they lost to this same team in the fall by 7 or 8 goals, so they are getting much better!

Today's trail maintenance was semi-guerrilla in that I didn't ask, nor expect permission to do what I did. In fact, I don't think anyone will especially notice any changes, except for a lack of scratches on their legs after passing through. I did a "Run With Loppers" along a stretch of trail (used by a popular race in the area) and pruned back the rabbitbrush, sagebrush and desert peach so that a runner's legs don't get scratched up. Over the years, the brush had been building along the sides of the trail, until this year, when, in some parts, there was no option other than to force your way through the middle. Uncomfortable to be sure, since desert peach has sharp, two-inch spines.  I don't think anyone will stop and think, "Gee, someone must have come through here and pruned, because I didn't get scratched!", and that is a good thing. The best maintenance goes unnoticed.

After my Boy Scout deed for the day was done, I parked the loppers and went exploring - looking for trails in the area I hadn't been on previously. I found a few reasonable ones, and one interesting rock formation:
Picture
They Pyramidal Eye
It kind of reminds me of the back of a dollar bill, with the eye in a pyramid. Being the literal guy that I am, I christened the trail "Pyramidal Eye." Of course nobody will know, but that's OK.

At the end of that trail, I was admiring the view, when I heard a noise. At first, I thought a truck was making its way up the hill out of sight. Then, as the pitch changed, I thought it might be an ATV or motorcycle, or even a lawn mower. I didn't see anything, though. Finally, I figured it out, snapped a few shots, and got out of there.

I didn't realize I had another gear in me, but I guess I found one when this came my way over the hill. Expand the photo if you can't see the depth of the swarm of bees.
Picture
I've never seen a swarm on the move before, it's pretty cool. I watched for a bit, until they got too close for comfort, then I bugged out (pun intended).

Off to see the eclipse shortly!
0 Comments

VBA, ClickOnce Applications and Parameters - oh my!

5/18/2012

0 Comments

 
I'm a big fan of the KISS principle: "Keep It Simple Slang." I tried following the instructions for passing arguments to a clickonce application, and though I am not stupid, they seemed, I don't know, complex. I went for a much simpler route that works well in my environment.

Let me back up and give the situation. I have a simple clickonce application call AlphaWave that allows users to select from a couple of drop down lists, and enter some information into a text box and maybe add an image to provide feedback to me. Pretty simple stuff. What I wanted to do is to pre-populate one of the dropdowns based on the application that was calling the AlphaWave app so the user wouldn't have to. Again, pretty simple stuff. Or so I thought. Searching through the morass of blogs, MSDN articles, and other assorted goop, I found a couple of good articles that discuss it. The discussion was in-depth and complex. But I am lazy; I don't want to work that hard. So I bypassed all the passing parameter stuff in the usual way. What I did, is I create a text file with the parameters in it before calling AlphaWave through a Process.Start method in my Visual Studio 2010 VB application. In this particular case, the call was on a button click event. The WriteAllText line is what creates a text file and populates it with a string (the second parameter). In this particular case, the string "Sisyphus" indicating the application that is calling AlphaWave.

Const cAlphaFile As String = "C:\alphacall.txt"
Const cAlphaApp As String = "C:\ProgramData\Microsoft\Windows\Start Menu\LCB Applications\AlphaWave.appref-ms"
'What we are writing is the parameter string to be read later. In this case, it's a single line
My.Computer.FileSystem.WriteAllText(cAlphaFile, "Sisyphus", True)
Try
Process.Start(cAlphaApp)
Catch ex As Exception
MsgBox("Your application not found error message here.", MsgBoxStyle.Information)
End Try

The Process.Start line fires up the AlphaWave application itself, so from the perspective of the calling application, the job is done. A parameter has been "passed" by writing to the text file, and the AlphaWave application started.
In AlphaWave, I needed to set the startup object to be Sub Main and have that look for the text file with the parameters in it before displaying the form itself. If the parameter text file exists, I read its contents as the equivalent of a passed parameter, kill the file, then continue processing the AlphaWave form startup. If the text file doesn't exist, the code bypasses it all and I just don't have the parameters loaded into strParameters for launching AlphaWave. Simple and fast enough.


The additional code dealing with the cAppVersion is how I display the version number of the app. If it's deployed as a ClickOnce, it reads the data from the Deployment object. If it isn't, I am working in my own dev environment, and I display that.

Public strParamaters as string
Dim cAlphaCall as string = "C:\alphacall.txt"
Try
strParameters = My.Computer.FileSystem.ReadAllText( cAlphaCall )
Kill( cAlphaCall )
Catch ex As Exception
End Try
' Identify the version in the app
If Deployment.Application.ApplicationDeployment.IsNetworkDeployed Then
cAppVersion = "v. " & Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString
Else
cAppVersion = "Development version"
End If
theForm.lblVersion.Text = cAppVersion
Application.Run(theForm)

Calling a ClickOnce Application from VBA
The second problem I had to solve was calling the app from inside VBA code. AlphaWave's raison d'être is to serve as a feedback process and – in addition to stand-alone applications – there is a lot of custom code in MS Word for which I need feedback.

The "Process.Start" method is not available in VBA, and the Shell command only works against .com, .bat or .exe files. A conundrum in that it appears there isn't a way to launch a clickOnce application from within a MS Office application. Why? A ClickOnce application is a completely different animal with an extension of appref.ms. Another search across the web pretty much resulted in nothing.

After thinking a bit, I cleverly (I think) came up with a clickOnce Application Launcher... application. It is a console app, taking as a passed argument the path to the clickOnce application I want to start. Since it can easily take in an argument, AND it can also launch appref.ms files, the problem was solved. Below is the ENTIRE contents of the clickLauncher application:

Module Module1
Sub Main()
Main(Environment.GetCommandLineArgs())
End Sub

Private Sub Main(ByVal args() As String)
If UBound(args) = 0 Then
MsgBox("This application is designed to be launched from VBA Code with an argument of a path to a clickonce application as follows:" & vbCrLf & vbCrLf & _
" RetVal = ShellExecute(0, ""open"", chr(34) & & chr(34), Chr(34) & & Chr(34), """", 0)" & vbCrLf & vbCrLf & _
"Double clicking it without passing an argument of the clickonce app path will do nothing other than get you this message box.")
Exit Sub

End If
Try
Process.Start(args(1))

Catch ex As Exception
MsgBox("The ClickOnce application that you are trying to launch (" & args(1).ToString & ") was not found in the expected location." & vbCrLf & _
"Please ensure it has been installed locally, and the shortcut properly located in the LCB Applications folder.", MsgBoxStyle.Information)

End Try
End Sub
End Module

Here is the VBA code that is used to call the app launcher to instantiate a ClickOnce app. You will need a reference to the ShellExecute function at the top of your module:

Private Declare Function ShellExecute Lib "Shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub VBACallToLaunchClickOnceApp()
Dim strLauncherPath as string
Dim strAppPath as string
Dim RetValue as Long
strLauncherPath = ""'this is the path to the clickOnceLauncher Application
strAppPath = ""'this is the path to the appref.ms shortcut you want to start up
RetVal = ShellExecute(0, ""open"", chr(34) & strLauncherPath & chr(34), Chr(34) & strAppPath & Chr(34), """", 0)
End Sub

That's it. I hope someone else can find the results of my investigations useful. Have a great weekend.
0 Comments

Daddy's got a new pair of shews

5/17/2012

0 Comments

 
I bit the bullet and bought a new pair of running shoes. My existing ones (trail, that is - the Inov8 Rocklite 295s) were getting a bit long in the tooth with around 700 miles on them. I liked them a lot, but wanted to try some more minimalist-type of shoes. I like Inov8, so I maintained brand-loyalty and went with a lighter shoe -  the F-lite 195. As the number indicates, this is a much lighter shoe (The number is the weight in grams of a men's size 9) with a much thinner sole and less aggressive tread. 

They arrived too late on Tuesday to take them out, so I had to wait until Wednesday and my usual trek on the west side of Prison Hill while Mikaela had soccer practice. This time I created a new route with a double hill, mostly rocks and dirt with some sandy downhill. I liked the shoes and I felt faster (kind of like when you were a kid, and new shoes made you run faster!) and lighter on my feet. I could feel the rocks, but it wasn't a sharp stab like with Vibram 5Fingers or something like that. The thin sole allowed me to feel what was down there, without debilitating me.

I think the shoes might run a bit larger in size than the Rocklites, since I had gotten the same size but I seemed to have more space between  my toe and the end of the shoe than in the Rocklites. Regardless, they didn't feel too big, and the width felt the same. I thought the shoe was comfortable and it did great on the 5.5 mile route. 

Looking forward to a longer run this weekend in them. We'll see. I have soccer, and I need to do some trail maintenance. Running might take a back seat.
0 Comments

Security Theater - part 2

5/15/2012

0 Comments

 
Earlier this month, I had related the impression I had that security requirements for front end users is mostly theater, and that the vast majority of the hacking and unlawful access comes from the backdoors. Seems to be the case. I just read a very interesting article in Wired titled "Everyone Has Been Hacked. Now What?" that indicates the same thing. 

Couple that with the information that Anonymous has claimed to have accessed all the confidential databases in the US government, and, well, I  want to throw up my hands, get back my Macintosh SE (with dual floppy drives) and break out Mystery Box and let the Internet go by.

Unfortunately, I can't do that. The society in which I live nearly requires an online presence, despite the pitfalls of rampant hacktivism and the specter of my personal information in the hands of some smarmy, unwashed dung beetle wanting to sell it or rip me off. 

Sigh.
0 Comments

Mother's Day Weekend - outdoors

5/14/2012

0 Comments

 
This was another overly busy weekend. I guess I should just accept the fact that they are all going to be over the top until either the kids' sports seasons are done and gone, the weather turns south, holidays stop occurring, or, more likely, all three at once. 

The weekend started on Friday night with a Mikaela soccer game. They ended in a draw, which is unfortunate, since they went into the last minute with a 2-1 advantage. Mikaela scored one of the two goals, so on a personal level, it was a good game. From the sidelines, I am seeing such an improvement in her skill level over last fall. She and her teammates are all getting this whole "team" thing going. Now if they can just get a formidable stopper in the goal!

Saturday morning was a double header. I went for a run and Mikaela played with the younger girls (she usually plays up an age division, only playing her "real" division when they need a guest player), and she scored another goal on the team's way to a 3-0 win. She was happy with both the result and her play. I was a proud papa, though I didn't get to see the game, I deferred to Risa to let her watch. :-)

I went running on Saturday morning and wasn't sure if anyone else was going to show for the scheduled run. I am firmly convinced most of the runners show for the scheduled runs because of who schedules. Abbey? Full trail. Me? Not so much. :-p At the scheduled time, it was me alone. Joe showed at his usual 7 minutes late with Gino, and as we were about to leave, Melissa and Lindy appeared. They had called Abbey and she guided them. I guess she pitied me the poor turnout. 

The run was warm in the absolute and HOT in the relative with temps in the upper 70s at the start. It's finally starting to get wa We did the V&T Lasso to start off and swung back by the vehicles after 4 miles, then headed up Ash Canyon for 9 more. Melissa had better things to do and split where her run would total 8-9, and Joe, Gino and Lindy powered their way with me snacking on the copious dust their feet kicked up. DFL! DFL! It didn't matter, it was a finish.

Sunday was Mom's day. I did yard work, and prepped the bikes for a short family ride. Since my bike is in the shop, I did a short run while Risa and the kids did a ride. It's good that everyone is getting comfortable on the bikes. We are going to be doing some rides this summer and the more comfy Mikaela gets, the more fun the rides will be. 

We closed out the weekend with a visit to the all-you-can-stuff buffet (early) then watching Ghostbusters on Netflix. A nice weekend all around.

Don't forget the eclipse next weekend!
0 Comments

Cyber-security Theater

5/8/2012

0 Comments

 
Recently, I had to update all the security questions for the AppStore for my Apple devices. This had closely followed a string of required changes to my passwords for a number of different websites. Seemingly, they all now require upper case, lower case, non-character and at least one number or some such stupidity in every password. Oh, and it needs to be at least 15 characters in length. (Some hyperbole there. Some.)

I don't get it. Has there been a rash of identity thefts of people stealing passwords and spoofing individuals on the Internet? I haven't heard much about that kind of activity since the 1990s. Admittedly, I am not privy to a lot of security discussions on the web, but still, all the tempest over users' passwords seems to me to be a bit of misdirection. You see, where are the big security breaches? Not with an individual password being hacked. No, it's with somebody hacking the backdoor of a company and stealing millions of users' information - including their passwords.

Seems to me that forcing the users to update their perfectly adequate password is an attempt to show "See? We are all about the security! We force you to change you password and make it impossible to remember!" when they need to be watching their own practices and back doors for the far, far more egregious thefts.

Perhaps somebody can tell me that I am wrong.
0 Comments
<<Previous

    RSS Feed

    Author

    A never-was endurance runner, and paripetetic wanna-be who is eyeing early retirement with gleeful enthusiasm.


    Follow @slang4201

    Archives

    December 2019
    November 2019
    October 2019
    July 2019
    October 2018
    September 2018
    May 2018
    April 2018
    November 2017
    October 2017
    July 2017
    June 2017
    June 2015
    August 2014
    January 2014
    October 2013
    September 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    November 2012
    October 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012
    April 2012
    March 2012
    February 2012
    January 2012
    December 2011
    November 2011
    October 2011
    August 2011
    March 2011
    October 2010
    July 2010
    January 2009
    December 2008
    October 2008

    Categories

    All
    2011
    Alternate Energy
    Android
    Angela Sullivan
    Animals
    Antiques
    Apple
    Ash Canyon
    Astronomy
    AT&T
    Bailout
    Battery
    Bicycling
    Biometrics
    Books
    Carrier Iq
    Carson City
    Centennial
    C Hill
    C-Hill
    Christmas
    Climate
    Clothing
    Coding
    Colorado
    Columbus
    Cramps
    Curiosity
    Dad
    Dardanelles Lake
    Dell
    Dick's Lake
    Dilbert
    Eagle Lake
    Earworms
    Eating Problems
    Eclipse
    Economy
    Education
    Eldorado Canyon
    Energy
    Errors
    Espionage
    Europe 2019
    Evi
    Fallon
    Family
    Fontanillis Lake
    Food
    Garmin
    Geocaching
    Goals
    Google
    Google Earth
    Grouse Lake
    Hiking
    Inov8
    Investing
    Ipad
    Iphone
    Iron Mountain
    Legislatures
    Mac
    Market
    Market Drop
    Mars
    Mctarnahan
    Medicine
    Microsoft Word
    Motivation
    Mountain Biking
    Moving Minutes
    Music
    Nevada Day
    Nfc
    Ohio
    Olympics
    Openoffice
    Opportunity
    Panama 2018
    Paper Airplane
    People
    Politics
    Prison Hill
    Privacy
    Puts
    Puzzles
    Race
    Rant
    Reno
    Retrospective
    Roosevelt
    Running
    Running Dynamics
    Saddest Cities
    Safe & Sober
    Science
    Shoes
    Shopping
    Sierra
    Sierra Canyon
    Snl
    Soccer
    Software
    Spasms
    Spirit
    Sullivan Canyon
    Svn
    Tahoe
    Tahoe Rim Trail
    Taxes
    Technology
    Transit
    Travel
    Trees
    Vba
    Velma Lakes
    Venus
    Verizon
    Violin
    Watches
    Weather
    Wolframalpha
    Words
    Wrestling
    Writing
    Xkcd
    Yawbe
    Yoga

This is ALL MINE, I tell you! copyright 2010-2020