Snoqualmie I-90 Exit

One of the not so good things about living out in Snoqualmie Ridge is that we share an exit with the north end of 18, a bypass around Seattle and frequent location for traffic backed up onto the highway, which has actually led to a number of accidents and I believe a few deaths. The government has done a lot of work on the exit, making everything two lanes, having left versus right turn lanes, etc. However the problem of all the traffic heading south on 18 from Eastbound I90 remained and cutting over at the last minute could get you some nasty honking and a ticket. Until a couple days ago that is. Thanks to some quick work, the right lane of the highway is exit only with the next lane an optional exit directly into the left turn lane.

They are just more critical these days

Since the launch of Vista, I’ve simply been amazed and the frequency and severity of criticism Vista has received. I humbly accept the places where the complaints make sense to me (Performance/Compatibility; and in many cases I grok the reason compatibility was broken), but much of it, like the DRM hype is just astonishing to watch. Worse, there are many features and improvements that I’ve yet to see Vista get credit for. Anyhow, I’ve been collecting theories of what happened:

  • Security trumped compatibility in this release. (Most of the things that Windows could do without breaking stuff was done in XPSP2)
  • We didn’t focus on compatibility like we did in Windows 95
  • We shipped new Networking, Audio and Video stacks in Vista, and that will cause application compatibility issues and it’s going to take a while for drivers to catch back up to the level of optimization we had before.
  • Too many little features, not enough big ones.
    • Broken planning, dependency tracking, etc.
    • Ship everything at once mentality, instead of incremental improvements
  • There wasn’t enough architectural oversight of the product
  • Too many shifting and impossible to follow through “Basics” (Don’t worry if you don’t get this one)
  • Vista wasn’t selfhost-able until way too late in the product cycle
  • Since the product shipped late, expectations were set to negative by default
  • XP brought the reliability people were screaming for, XPSP2 brought the security people were screaming for. Vista just meet a fundamental need the way XP did.
  • The big stuff people were promised didn’t show up (WinFS and ???)
  • This is really the same thing XP went through
  • ABMs (Anything But Microsoft) people are more are listened to more and more effective with FUD then in the past.
  • They are just more critical these days

I must admit, I didn’t get the last one when I was told it, but I’ve been warming up to it. Enough people are computer savvy now that they no longer blame themselves when things break, they blame the hardware and software people. Well actually, most people just plain blame Microsoft, but give it a couple another decade and people will get better at blaming individual hardware/software manufacturers. While none of the the list is self sufficient as a reason, the recent criticism around Apple’s Leopard release is giving more and more credit to the theory.

Live Maps: The Little Things

While Live Maps haven’t copied the eye-popping drag and reroute feature of Google maps, there is a number of really cool improvements in the latest release. The Live search blog has a list of ten improvements that haven’t got the press of other features like the “model your own 3d building on a map” one. My personal favorites from this list are the End/Start details where you filter down driving instructions to allow you to ignore the stuff you don’t need to see (like how to get out of your neighborhood), the new black color on the traffic map for dead in the water congestion and some of the extra business information they now have.

It's about the Issues?

As someone who enjoys watching politics (maybe in the same way that people enjoy watching car wrecks or the show Cops). I have to admit I’m annoyed with the finding discussed in a recent Science Friday piece that quick (in the ms) views of politician’s faces can enable people to predict the winner with 70% accuracy. The accuracy goes down dramatically once people know anything about the candidate.

Thought 1: Does simple face based judgement lead actually do a good job in selecting people for office?
Thought 2: If not, what sort of simple or bizarre rules could one introduce to minimize or eliminate this effect? 🙂

Vista

So I’ve started to see some press getting way down on Vista about things I haven’t experienced and decided to go and see if I could figure out what was going on. First off, let me summarize my house’s trip to vista.

  • Machines
    • 3 older machines
    • 1 brand new nice 64 bit box
  • Issues
    • Memory
      • Most of my machines needed a memory upgrade to be happy on vista.  Where I Couldafford it machines went to 2Gb.
    • RAW photo support for my camera on 64 bit windows
      • Canon was in no rush to release it and I still don’t have RAW support on 64bit (which is where I do photo stuff)
    • Media Center on 64 bit
      • It was either the 64bitness or trying to also use the machine as a desktop while it was a media center, but this led to a lot of crashes of media center.
    • Loud machines
      • Since vista supports sleep better then previous versions, I started used it for my desktops. I then started to notice the noise difference between on and off.

 

And while I’m at it, the BS issues that people complain about, but I don’t get the issue.

  • DRM
    • Everyone gripes about it and it’s the default reason people give for anything that is broken, but it probably has nothing to do with anything since I’m not aware of anyone using it’s new features yet. It’s a passive, when the application asks for it, feature not an active (lets look for violations) system.
  • UAC
    • When you get a okay/cancel UAC prompt, you are running as an administrator and if you weren’t you would have been asked for administrator account and password. Even when you run as administrator with UAC, you are not administrator. The prompt authorizes a process to run as true administrator. There is a reasonable amount of security value here. The main question is “Should this require administrator rights to run?” whenever you see a prompt. Frankly I don’t get prompted often, and when I do, I find it’s appropriate. The notable exception is when I want to see details of what driver is loaded for my network card or video card. The UI for viewing and setting the settings weren’t separated and so you get a prompt even when you don’t want to change anything.
    • If you think UAC is annoying, the question is, what did it prompt you for that it shouldn’t have?
    • It’s very amusing when people comment about UAC and get recommend another OS that does the same thing, except requires you type in a password.

Okay, so now that I have that out of the way… I’ll next write on where and what I’ve learned

Finally, some good arguments against OpenXML

Stéphane Rodriguez has an article about issues one hits when trying to implement or use OpenXML. They don’t have the idiotic and artificial type of arguments that lists like groklaw has created, but some of his examples feel a bit extended to make a good story.

Lets see what the summary of his issues are with my bottom line comments. Also note I’m no expert at this stuff, I’m a geek, not a word processing file format geek and I certainly don’t speak for Microsoft on these issues.

  1. Self-exploding spreadsheets
    • Removing formulas from a spreadsheet is non trivial because there are other files with references to the forumla to update, such as the calculation chain
    • You can’t rebuild the calculation chain without going through the whole document.
    • While the calculation chain can be excluded it is non optimal to do so because some one who does need to understand the whole spreadsheet will have to recalculate it.
    • Some ZIP libraries don’t deal efficiently with doing the sort of operations needed to manipulate these zip based documents structures
    • Bottom Line 1: Invalidating the Calculation Chain should be automatic, so that simple manipulation tools work better
    • Bottom Line 2: Classic engineering tradeoff, you can precalc stuff if you want, but then you have to be able to precalculate it and keep some sort of invalidating state.
  2. Entered versus stored values
    • The intuition that what you type in excel is what is stored is incorrect. Excel does magic to make it more user friendly like automatically adjusting to local convention (like , instead of . in number formatting) and auto converting to a type instead of treating everything as a string or forcing the user to be explicit
    • The stored number values are affected by IEEE rounding rules
    • Stored values are not locale dependant (This is a bad thing?)
    • Bottom Line: It’s not clear how this affects the usability or usefulness of the format to me. Maybe a different example where values that aren’t in this format (generated by a third party tool) fail in excel?
  3. Optimization artefacts become a feature instead of an embarrasment
    • Worksheet shared forulas are listed as “copy from Cell X” instead of having a neutral non cell reference that everything uses
    • This leads to a lot more work to change a formula in one place if others reference it.
    • Bottom Line: Sounds like a valid complaint to me
  4. VML isn’t XML
    • VML is supposed to be deprecated but gets used in some places like comments
    • 10 year old memo from Gates that has little to no bearing on the world or Microsoft today
    • Bottom Line: I’m not familiar enough with the spec to know if this is an issue or not, but it sounds like comments in Excel is hard to work with and that’s bad.
  5. Open packaging parts minefield
    • You can’t delete a part and know who relies on it without parsing through everything in the file
    • Bottom Line: sounds sucky
  6. International, but US English first and foremost
    • The functional things in the format for excel is in english (like the SUM() function)
    • VML and DrawingML have a number of encoding notes to help with localization which aren’t documented well
    • Applications on top of OpenXML have to localize everything themselves
    • Bottom Line: Maybe I’m missing it, but this seems like a feature, my spreadsheet manipulator doesn’t have to be aware of all the possible language encoding of the word “SUM”

I’m going to cut off this post here for now (wife wants my attention 🙂 ) and maybe continue it another day

Major themes from the list so far:

  • The excel format seems to be not well designed for targeted modification of existing files. You have to load an understand the whole thing and then write it all back out again. (unless you are using the custom schema stuff, but that is out of scope)
  • VML interacts with parts of openXML is not well describe ways

— Ari

Windows Security Boundaries

I was reading Raymond’s post on Escalation of Privilege bugs that don’t actually escalate your privilege and then quickly read the earlier episode of the series. There I saw a lot of commenter rebilling against the concept of post by drawing new security boundaries which the hypothetical exploit would cross. This crystallized a concept for me that there are certain security boundaries in windows that are harder then others and there is much confusion in this area. Since I haven’t seen this information in one place anywhere, I’ll try to consolidate my understanding of it here.

Security Boundaries control the flow of information and execution between two distinct environments. We consider a boundary breached when arbitrary data or execution is no longer prevented from occurring. Most of the time we consider one of the environments a superset of the other, for example, going from executing as a single user to controlling the entire Operating System. However any attack that gives you more privileges then you currently have can be considered an escalation of privilege.

  • Primary Security Boundaries
    1. The Remote Boundary (is there a better name?)
      • This boundary separates things executing off your computer and on your computer. When an attacker can remotely make your computer do arbitrary things in a security context that would be crossing the remote/machine boundary.
    2. The User Principle Boundary
      • This refers to the security boundary created by executing code under a security principal and the ACLs that details which user has access to which resources. This is what keeps one user from snooping on another user’s files. If untrusted code manages to run in your user account, it’s not really your user account any more. This can also refer to non user accounts such as services.
    3. The Administrator/Kernel vrs Not Boundary
      • This is the boundary between a normal user and running as administrator or executing code in the kernel. Once untrusted code is running in either administrator or in the kernel, it is not your box anymore.
    4. Privileges
      • These carve out boundaries like ACLs.
    5. The Operating System Boundary
      • This boundary refers to the ability to read files and execute when it is allowed to execute outside the context of the operating system normally in control of the resources. If the OS isn’t running it can’t protect secrets. Technologies like bitlocker and the one-way encryption of passwords are attempt to deal with breaches of this boundary. Vitalization is making this area more interesting.This is also the point of Immutable Law #3.
    6. Managed Code (CLR/Java) sandboxing
  • Mitigation Boundaries (These are bypass-able, have uses and may be put together to make something stronger but alone do not form a primary security boundary, see Mark’s blog)
    1. Power User/Administrator/Kernel/System
      • You can switch between these without much difficulty.
    2. Vista Admin account UAC
      • The split token helps but doesn’t make a full boundary
    3. Session boundaries
      • Different user sessions have different named object namespaces ACL’d to them, however one user could reach over and mess with then session of another instance of the same user.
    4. Restricted Tokens
    5. IL Levels
    6. Software Restriction Policies
    7. UAC elevated processes in a user session
    8. Kernel Driver Signing
    9. NATs/Most Firewalls
    10. Kiosk style, certain applications only hacks/setting changes
    11. System File Protection
    12. Windows Data Protection – DPAPI
    13. Code Signing

Much of the confusion occurs from “breaching” a Mitigation Boundary instead of one of the Primary Security Boundaries. Aside from some nice new Mitigation Boundaries, the main thing that Vista does is move most users from the Administrator/Kernel side to the rest side or the primary boundaries #3, and that is a big deal.

Saturday "ride"

Thursday roles around and I was left with a decision. Ride a 14-15 mph pace ride with the people I’m doing the STP with, do the Cascade ride, do both or do the 107 mi, 5500 ft of climbing RAMROD training series ride? Am I even vaguely fit enough to do the RAMROD training series ride? Last time I tried it, the ride went to North Bend, was 69 mi with 3,400 feet of elevation gain, and I failed. I fell further and further behind until I had to walk the SE 164th St hill from Uplands Way SE. I always caught up with the group at the rest stop, but I never let myself recover, choosing instead  to try to stay up with the group. I made the same mistake one last time after the lunch stop in order to ride with a group that planned on going slow. As it turned out, they wanted to catch up with someone, so they took off at a pace my exhausted legs couldn’t begin to replicate and after falling slightly off the group the headwind finished me off. Demotivated, alone and feeling sick, I turned off the route in the last 15 miles skipping the Fall City-Issaquah road climb up to the Sammamish plateau in order to climb Snoqualmie Parkway to crawl up and die at home. Since then, I’ve done a number of CTS rides and have always been comfortable with the blue group’s pace, distance and elevation gain. The most I’ve done this season was the 80 mi ride to Black Diamond and that was no where near the hills of a RAMROD training series ride. In the end the decision was made when Per asked me at dinner on Thursday night if I was coming. What the hell, I’m stronger now and it sounded like Per hasn’t ridden that distance yet this season. Two weeks ago on Saturday the rain took out both the CTS ride and his training series ride.

7:30 AM Saturday and my legs are cold. I’m at the top of Lakemont Blvd getting ready to do this. There is a lady that I’ve seen many times at the CTS ride and I had told her about the Tuesday/Thursday rides and now through that she has decided to come to this one. I don’t think she’s expecting the amount of hills ahead, but last week she did ride the flying wheels century ride and the bonus 60 miles CTS ride the next day. The fact that we are at the top of a hill that at the end of this 100+ mile ride I’m going to have to climb back up is not lost on me. Coming down off of Lakemont using 164th I quickly fall to the back of the pack, since I’m overly cautious coming down hills that have curves. Riding down hill on Newport Ave I seem to fall further behind. What’s going on with my legs? Thursday my legs were tight and only after a bunch of riding did they stop feeling weird, but even then I still felt off. Here I was going steady downhill and was already slow. It wasn’t the stiffness of Thursday, it was just a pure lack of strength. I start to consol myself that it must be a headwind until I pass the hangliding landing field on Issaquah Hobart Rd and the wind sock is lying dead flat. Maybe it’s strapped down right now? Maybe the slight climb is doing it? Maybe my legs are cold? The excuses tumble out. The lady from the CTS ride is way ahead of me now but still visible, I’m riding with another lady in a white wind jacket. She keeps doing out of saddle work to maintain her speed. Perhaps it’s not just me. We take a left on to Tiger Mountain Rd from the north side, the steeper side. On a previous CTS ride I had skipped coming up Tiger Mountain from the south side when I thought that the group had left already, it turned out to be the “fast” group leaving early.

I manage to catch up to Per and about half the pack on the turn to SE 200th St, but as I climb the hill next to the golf course we once had a moral event on, I get a nasty cramp in the back right part of my right knee. I stop at the intersection and give up on staying with the group in order to message the muscles, have some electrolyte gel and some water. I catch up again to the group in Ravensdale at the rest stop. Per gives me the rest of his gallon of water and I get a quick stop in the bathroom. The next miles are uneventful, I stay in a nice pace of small climbs and rollers doing the group pace. We climb our the Green river Gorge area on Enumclaw-Franklin Rd, but turn onto a small side road, SE 384th before getting to 169. In front of me is a wall. I hear per saying something about this being the worse between two special “rollers” on the ride. This is not a roller, this is a long straight shot up. I already see some people towards the top walking their bikes. Muttering to myself “Per, What did I do to you?” I take it on. There is one thing I know for sure, there is no restarting on this hill. If I stop, I’ll have to walk. Per amazingly enough stops and restarts. At the top I catch my breath and then get moving to not lose the group.

Finally I make it to Enumclaw for lunch and I’m getting pretty sore. The group’s about half the mileage and about 2/5’s the climbing.  Once again the group is leaving and I’ve just taken the last bite of the tuna sandwich I bought from Safeway. I think about the possibility that I’ll need to call Pamela to bail as we start out.

In my usual pattern I’ve fallen way behind the group coming down 218th Ave SE to Green Valley. I pass a number of people as we slowly climb out of Green Valley passing Flaming Geyser State Park. This climb I take slow enough that my heart rate doesn’t go over 180 too often. At the top, some 50+ motorcycles roar by. Cheaters. I lose the group at Black Diamond bakery, but my head is acting up enough that I take an Excedrin. I head north along the route on Lake Sawyer to Witte’s Rd. along which is the next rest stop. Here I don’t really get a chance to rest, I just get some water, down another electrolyte gel and move on. We do Sweeny Rd which turns into 196th Ave SE. It’s much more pleasant to climb it from this side then from the north end. Per is providing the few of us who hasn’t flown off with a good pace on the climbs. Jones rd goes by without much issue, but I know I have to climb the other wall of maple valley soon.

The other fun “roller” was on 160th Ave SE. It’s a tougher grade, but it is very short. We fly though may valley and I’m getting really weak and headachy. We do some climbing and extra miles next to coal creek pkwy before rolling into Lake Boren Park. Finally I sit down and just rest. The sun is out and I actually start to believe that I’ll finish the route. We hop down to Lake Washington Blvd and then climb back over the ridge to Coal Creek again before we hit Newport Way. I know the rest of the route at this point. It’s a straight shot (up) to 164th and I’m not looking forward to the final climb. Even worse I’m starting to fall behind the small pack again. Ironically I catch them on the hill. The road straighten’s out and I say to myself “False Top”, however I forgot that the rest of the climbing was nothing compared to the first section. Mercifully I quickly reach Lewis Creek Park and relax. That was a hard ride.

Of course the real question is, Can I do the next one in the series?

A weekend of riding

With STP coming up and my intention to ride it two days with a friend and some of his coworkers, I felt that I really needed to do at least one two-day ride before the actual event. This weekend was cascade’s dedicated chance to do just that with Flying Wheels one day and a “lighter” CTS ride the next.

I did the 70 mile route on flying wheels and eventually caught up with some of the folks that I ride with on Per’s Tuesday and Thursday Night rides from Marymoor. The hills hit me hard that day, perhaps because of the Thursday night ride? Either way it was a pleasant day and I had a very tasty pastrami on a garlic bagel sandwich afterwards :). The next day I braved possible rain to do the CTS ride. While parts of it were at 16 mph because of a nasty headwind whenever we headed south, the overall ride was at the level or above of a normal CTS blue ride. Our group even added two bonus hills in Magnolia. The best part was flying north up airport road. I made up my mind late to try to join the fast group and ended up not catching them in spite of a 25-26 mph pace for a couple miles. I gained for a while but eventually just fell further behind. I caught up to two women, of whom I tried to keep on my tail but fell off, and the later who did stay with me, but my pace had fallen to 22-23 mph at that point. I found that for a good number of the hills I tried to keep up with the top of the group. I even had a shout up from lady behind me “oh Ari! Don’t use you grannie gear on this hill!” which quickly shamed me in to switching back up one in the front. I’m actually at the point now where for many hills I don’t need the grannie gear and also for the first time on Sunday it felt that muscle soreness was a bigger factor then cardio condition (of course this was on the second day of riding). If my heart monitor is at all accurate then I burned some 9000 calories in biking this weekend (meaning that I have some series cardio training left ahead of me).

That afternoon I attended a very pleasant housewarming at Tim’s place. Pamela and I got alot of playing time with Simeon there. Also after a month or two of holding the same movies from netflix, Pam and I finally watched them and we are returning it. If we do that again then netflix may not be the service for us. Oh, I did buy myself a father’s day gift, the HD-DVD version of BBC’s Planet Earth series. It is just plain awesome, too bad Simeon isn’t as fascinated as Pamela and I are.